能力值:
( LV2,RANK:10 )
2 楼
如果是发送到外网MAC地址应该不重要吧,毕竟数据包在网络上都是通过IP地址转发的。
能力值:
( LV15,RANK:340 )
3 楼
目的MAC填网关的MAC地址
向外发送只需要知道对方的IP和网关的MAC就行了,这个数据包先发送给网关,然后由网关转发到目标机器
能力值:
( LV4,RANK:50 )
4 楼
概况:
外网网关(122.237.206.1)
外网地址(122.237.206.73)
内网网关(192.168.1.1)
内网地址(192.168.1.100)
当主机使用由路由器构建的内部网络时,WINPACP获取网卡信息后可在网卡信息中获取网关地址,靠ARP和NETBIOS请求包可获取网关的MAC,此时只能获取内网网关的IP和MAC;
当主机靠PPPoE 直接连入外网时,用同样的方法可获得外网网关的IP和MAC;
现在构建数据包有3种情况,
1:目标IP在本地网关所在的网段之内(192.168.1.103)
2:目标IP在外网网关所在的网段之内(122.237.206.199)
3:目标IP在外网网关所在的网段之外(122.224.100.106)
现在的问题是如果我在内部网,想发送第二、第三种情况时数据包需要如何构建
RAW Socket 与 WinPacp 构建原始数据包时,区别在于WinPacp需要再包中写入Ethernet的目标、原始MAC和协议,其他构建大同小异。。。有位仁兄说 发送外网时,目标MAC用网关地址,目标IP用对方IP,但是似乎不行,提到说由网关来转发,那么是否只有外网网关之内的IP才能成功发送,还是可以适用2、3种情况,这个转发对于数据包构建有特别之处呢?有没有高人指点一下。
能力值:
( LV6,RANK:90 )
5 楼
只有两种情况吧
1)局域网内发包:目标mac(局域网目标主机的mac) 目标ip(局域网目标主机的ip)
2)往外网发包:目标mac(局域网网关主机的mac)目标ip(外网目标主机ip),同3楼, 适用于你说的2,3情况
如果网关是直接通过pppoe连到互联网,就不存在路由缺失问题,一条0 0的默认路由把所有目的ip全部传上去了,抓下网关外网网卡的包,没有理由抓不到的
能力值:
( LV4,RANK:50 )
6 楼
---------------------------------------------------------------------------------------------------------------
本地抓包:
from 192.168.1.101:1494 to 122.223.58.105:3388 type SYN
from 122.223.58.105:3388 to 192.168.1.101:1494 type SYN+ACK
from 192.168.1.101:1494 to 122.223.58.105:3388 type ACK
远程抓包:
from 122.237.202.59:64085 to 122.223.58.105:3388 type SYN
from 122.223.58.105:3388 to 122.237.202.59:64085 type SYN+ACK
from 122.237.202.59:64085 to 122.223.58.105:3388 type ACK
从过程上看
正向 SYN 192.168.1.101:1494
发往 192.168.1.1:64085(122.237.202.59:64085)
转发 122.223.58.105:3388
反向 SYN-ACK 122.223.58.105:3388
发往 122.237.202.59:64085(192.168.1.1:64085)
转发 192.168.1.101:1494
正向 ACK 192.168.1.101:1494
发往 192.168.1.1:64085(122.237.202.59:64085)
转发 122.223.58.105:3388
上面是一次正常软件建立的TCP连接,他完成了3次握手的完整规则,中间全靠网关(路由器)进行转发连接,现在我用WINPCAP 构建SYN请求包却无法达到远程主机(PPPoE或光纤无路由的情况下可成功发往目标主机),内网发包时 目标MAC为 192.168.1.1(网关) 的MAC地址,目标IP为122.223.58.105,但是网关并没有帮我转发向目标主机。这问题搞的头大了。。。
能力值:
( LV4,RANK:50 )
7 楼
终于可以结贴了!邪恶的网关
能力值:
( LV2,RANK:10 )
8 楼
是不是存在数据包构造不完整,或是校验不对,让网关给扔掉了。
能力值:
( LV2,RANK:10 )
9 楼
首先应明确MAC地址是用在LAN内的
其次你发的目标地址是否在网关内部,网关上做了NAT? 如果这样你直接发送到目标IP地址当然无法到达。如果想到达,需要在网关上做主机映射,这个跟你发包没关系.