请教一下, recv和recvfrom接收到的IP数据报,源IP和目标IP相同是怎么回事呢?
本帖最后由 dynamic516 于 2014-07-08 12:35 编辑windows 和 linux 下面我自己写代码 sniffer 的结果相同,
打开浏览器接收到的IP报文应该是外网IP才对呀
07/08/14 12:33:42 TCP len:0040; 192.168.1.102:4675 -> 192.168.1.102:80
07/08/14 12:33:42 UDP len:0229; 192.168.1.102 -> 192.168.1.102
07/08/14 12:33:42 UDP len:0229; 192.168.1.102 -> 192.168.1.102 自己顶一下,大家有没有遇到这种情况呢 自己再顶一下,大家有没有遇到这种情况呢 源地址和目的地址都是从IP数据报文中读出来的,是一样的 recv使用的tcp,rectfrom使用的udp,同一个机器同时使用tcp和udp就会出现你这种情况,没有不合理的呀。 回复 4# palm008
// Create a raw socket, IP family
rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
我接收的是IP层的数据报, 不管udp和tcp我都接收啊, 这样收不到源地址 ?这个是IP层的, 和UDP和TCP没有关系吧
你是不是设置了什么过滤条件,使用tcpdump能否看到外出的报文呢? tcpdump是正常的 没有设置什么过滤条件啊 IP报文数据里面直接读出来的源地址和目的地址哦 确认不是来自本机的访问, 所有IP数据报文的源地址和目的地址都一样, 浏览器上网正常, 实在不知道怎么回事!
页:
[1]