FTP vs TFTP: 13 Key Differences
FTP vs TFTP Most people have heard of FTP or File Transfer Protocol. It is a standard network…
IP spoofing is forging the source IP address in a packet header so the packet appears to come from somewhere it did not. The IP protocol was designed with no mechanism to verify that a sender is who it claims to be, the source address field is simply data the sender writes, and nothing in IP itself checks it.
This is not an exotic technique. It is a structural weakness in IPv4 and IPv6 alike, and the entire defence rests on network operators filtering traffic at the edges.
When a router forwards a packet, it makes its decision using the destination address. The source address is only consulted when a reply needs to be sent. So a packet with a fabricated source address is forwarded perfectly normally, it just cannot receive a reply, because the reply goes to whatever address was written in the header.
That single consequence divides spoofing attacks into two very different families:
An attacker sends a high volume of traffic with randomised source addresses. The victim cannot filter by source because every packet claims a different one, and cannot trace the origin because the addresses are fictional.
This is the most damaging use. The attacker sends a small request to a public service, DNS, NTP, memcached, SSDP, with the victim’s address as the source. The service dutifully sends its response to the victim. Because the response is far larger than the request, the attacker multiplies their bandwidth:
| Protocol | Typical amplification factor |
|---|---|
| DNS | 28× – 54× |
| NTP (monlist) | Up to 556× |
| SSDP | ~30× |
| Memcached | Up to 51,000× |
Reflection attacks are impossible without source address spoofing. Every one of them depends on it.
Any system that authorises based on source IP alone, an ACL, a firewall rule, an “internal network only” restriction, can in principle be fooled by a packet claiming an allowed source. This is why IP-based access control is a coarse filter, never an authentication mechanism.
On a local segment, spoofing is usually combined with ARP poisoning to put the attacker on the traffic path, at which point the reply problem disappears and they can both read and modify traffic.
Spoofed sources make logs useless for attribution and make source-based blocking counterproductive, you end up blocking the innocent address that was forged.
This is the single most effective control, and it is a responsibility of every network operator. BCP 38 / RFC 2827 says: do not let packets leave your network with a source address that does not belong to your network, and do not let packets in with a source address that does.
If every network implemented it, source spoofing on the internet would largely cease to be viable. The reason reflection DDoS still works at scale is that many networks do not.
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip verify unicast source reachable-via rxStrict mode (rx) drops a packet unless the router’s routing table says the best path back to that source is the interface the packet arrived on. Loose mode (any) only checks that a route to the source exists at all, weaker, but usable on multi-homed edges where asymmetric routing would break strict mode.
ip access-list extended ANTISPOOF-IN
deny ip 10.0.0.0 0.255.255.255 any
deny ip 172.16.0.0 0.15.255.255 any
deny ip 192.168.0.0 0.0.255.255 any
deny ip 127.0.0.0 0.255.255.255 any
deny ip 169.254.0.0 0.0.255.255 any
deny ip host 0.0.0.0 any
permit ip any anyApplied inbound on the internet-facing interface, this drops the obvious cases.
monlist enabled.| Attack | What is forged | Layer | Primary defence |
|---|---|---|---|
| IP spoofing | Source IP address | 3 | BCP 38 filtering, uRPF, IP Source Guard |
| ARP spoofing | IP-to-MAC binding | 2 | Dynamic ARP Inspection |
| MAC spoofing | Source MAC address | 2 | Port security, 802.1X |
| DNS spoofing | DNS response | 7 | DNSSEC, DoH/DoT |
| Email spoofing | Sender address | 7 | SPF, DKIM, DMARC |
Not from the packet itself, the source address is fiction. Tracing requires cooperation from upstream providers walking the traffic back hop by hop, which is slow and rarely done outside serious incidents. This is precisely why edge filtering matters more than after-the-fact investigation.
No. A VPN routes your traffic through a server which then sends it with its own legitimate source address. A VPN router does this for every device on the network at once. Nothing is forged, the packets genuinely originate from the VPN server. Spoofing means lying about the source in the header.
No. The same header design applies. IPv6 does make some things harder, the address space defeats scanning, and IPsec support is more widely implemented, but source addresses are just as forgeable.
A firewall at the network edge can drop packets with obviously invalid sources, which handles the crude cases. It cannot detect a spoofed address that plausibly belongs to the internet. Effective prevention has to happen at the source network, which is what BCP 38 asks for.
Because the fix requires action by the network that hosts the attacker, not the network being attacked. There is no direct benefit to the filtering operator, so adoption has remained incomplete, a textbook coordination problem.