A method for network topology obfuscation, comprising the following steps: - analysing a network topology, by a topology analyser, to obtain a logical topology corresponding to an adversary's view of the network topology and a tracing flow distribution, from an input to the topology analyser consisting of a physical topology provided by a network operator, a forwarding behaviour of the network topology and tracing flows of the adversary; - generating a virtual topology, by a topology obfuscator receiving the logical topology and the tracing flow distribution from the topology analyser, wherein the virtual topology comprises a number of virtual nodes and links, the virtual nodes being created by the topology obfuscator to equalize the tracing flow distribution, wherein the number of virtual nodes created by the topology obfuscator which equalizes the tracing flow distribution is determined by a topology leakage computed as the difference between flow density of the most popular node and flow density of the least popular node, wherein the most popular node is the node receiving the most tracing flows and the least popular node is the node receiving the least tracing flows in the network; - deploying the generated virtual topology, by a topology deployer, into real nodes and links of the network using software-defined networking, SDN; - continuously monitoring all the tracing flows incoming in the network and compares the topology leakage with a threshold value defined by the network operator and, if the topology leakage exceeds the threshold value, the number of virtual nodes and links created by the topology obfuscator is adjusted and notified to the topology deployer to balance the incoming tracing flows among real nodes and the adjusted number of virtual nodes created by the topology obfuscator. - analysing a network topology, by a topology analyser, to obtain a logical topology corresponding to an adversary's view of the network topology and a tracing flow distribution, from an input to the topology analyser consisting of a physical topology provided by a network operator, a forwarding behaviour of the network topology and tracing flows of the adversary; - generating a virtual topology, by a topology obfuscator receiving the logical topology and the tracing flow distribution from the topology analyser, wherein the virtual topology comprises a number of virtual nodes and links, the virtual nodes being created by the topology obfuscator to equalize the tracing flow distribution, wherein the number of virtual nodes created by the topology obfuscator which equalizes the tracing flow distribution is determined by a topology leakage computed as the difference between flow density of the most popular node and flow density of the least popular node, wherein the most popular node is the node receiving the most tracing flows and the least popular node is the node receiving the least tracing flows in the network; - deploying the generated virtual topology, by a topology deployer, into real nodes and links of the network using software-defined networking, SDN; - continuously monitoring all the tracing flows incoming in the network and compares the topology leakage with a threshold value defined by the network operator and, if the topology leakage exceeds the threshold value, the number of virtual nodes and links created by the topology obfuscator is adjusted and notified to the topology deployer to balance the incoming tracing flows among real nodes and the adjusted number of virtual nodes created by the topology obfuscator.