具体操作截图:见 http://user.qzone.qq.com/1005699864/blog/1304220804
前言:ping一台没有防火墙的机器能通,但是如果该主机装了防火墙(比如天网防火墙)就不通。近日就是看不惯天网, 抽了两天看完TCP/IPProtocol and Network Programming搞搞它了.解决这个问题即实现防火墙穿越。
环境:VPC2007 系统xpsp3(ip:202.196.0.1),主机:xpsp3 (ip:202.196.0.5),天网防火墙个人破解版v3
1.用虚拟机搭建自己的局域网:然后让主机和虚拟机互相ping通又能都上网
1.1主机配置:控制面板---添加硬件----添加硬件向导对话框
选择 添加新的硬件设备-------
然后 Microsoft---
安装Microsoft Loopback Adapter.下一步 下一步直到完成.
1.2 然后打开主机网路连接 --属性 如图:
设置 连接3 即 Microsoft Loopback Adapter IP为 202.196.0.5
1.3设置虚拟机:networing 必须有两个网卡,第一个可以上网,第二个和物理机组建局域网如图
1.4 进入虚拟机操作系统,网络--属性 设置loopback adapter ip:202.196.0.1
以上四步骤设置完毕,物理机 虚拟机 即可ping通.
2.安装天网防火墙.设置:
3.主机ping虚拟机不通了
4.编程 udp ping 穿越防火墙;
原理1:主机封装raw socket 定制 udp包走必开的熟知80端口
虚拟机开机: udp回应包
端口不可达ICMP差错报文
虚拟机关机:目标不可达ICMP差错报文
网络故障等引起的socketerror
无任何回复报文(未确定,看知网论文说如此,但实际测试时,端口打开发回的是udp回应包而不是无回复,应该是和防火墙型号有关)
原理2:主机封装raw socket 定制 udp包走最不常用的 大端口如31558
开机:非目标不可达的ICMP差错报文---如端口不可达,
Udp回应包
关机:目标不可达
5.全部代码实现: