最近对伪造数据包比较感兴趣,从网上也摘了一些文章备用,近期有空就亲自来实战一下,对理解TCP/IP通讯很有帮助。
以下资料为转载:
---------------------------------------------------------------
修改IP的同时要修改checksum,其他协议也同样道理。
环境:
找了两台电脑,每台电脑上运行Sniffer Pro 4.75
每台电脑各配一个真实的互联网IP (A、B),机器A、机器B不在一个网段里。
两台机器的网关做在一个路由器上,并能访问互联网。
操作:
1)首先把两台机器的Sniffer开启混杂模式抓包。
2)然后在机器A上访问任意一个互联网地址
3)停止机器A抓包,然后查看Decode,查找三次握手中的第一次握手“SYN SEQ=”
4)找到后进入发包模式,更改原IP地址为任意一个互联网IP地址,更改目的IP地址为机器B的IP地址,更改原、目的端口。发送此包n次。
5)稍后,在机器B上停止抓包,并产看Decode是否有伪造地址的“SYN SEQ=”
结果:
试验没有成功,如果机器A用伪造的地址进行SYN,在机器B上看不到。但是,用机器A自身真实的地址机器就能看到机器A的“SYN SEQ=”
问题:
为什么机器A伪造IP包在机器B上看不到,还有,互联网上说得伪造IP包是怎样通过本地DefaultRoute(网关)。路由器是否更改机器A发送来的伪造的数据包?
需要高手详细解说一下伪造的IP包是怎样在互联网路由器上传送的?
Q:很简单,改了IP包头,需要修改checksum,否则包发布出去