dynamic516 发表于 2014-07-08 12:34

请教一下, 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

dynamic516 发表于 2014-07-08 14:06

自己顶一下,大家有没有遇到这种情况呢

dynamic516 发表于 2014-07-09 11:01

自己再顶一下,大家有没有遇到这种情况呢 源地址和目的地址都是从IP数据报文中读出来的,是一样的

palm008 发表于 2014-07-10 11:20

recv使用的tcp,rectfrom使用的udp,同一个机器同时使用tcp和udp就会出现你这种情况,没有不合理的呀。

dynamic516 发表于 2014-07-11 14:01

回复 4# palm008


// Create a raw socket, IP family
rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_IP);


我接收的是IP层的数据报, 不管udp和tcp我都接收啊, 这样收不到源地址 ?这个是IP层的, 和UDP和TCP没有关系吧









   

palm008 发表于 2014-07-11 14:44

你是不是设置了什么过滤条件,使用tcpdump能否看到外出的报文呢?

dynamic516 发表于 2014-07-11 15:01

tcpdump是正常的 没有设置什么过滤条件啊 IP报文数据里面直接读出来的源地址和目的地址哦

dynamic516 发表于 2014-07-16 12:49

确认不是来自本机的访问, 所有IP数据报文的源地址和目的地址都一样, 浏览器上网正常, 实在不知道怎么回事!
页: [1]
查看完整版本: 请教一下, recv和recvfrom接收到的IP数据报,源IP和目标IP相同是怎么回事呢?