首页
社区
课程
招聘
[旧帖] UDP包中地址的获取 0.00雪花
发表于: 2012-5-31 23:25 8907

[旧帖] UDP包中地址的获取 0.00雪花

2012-5-31 23:25
8907
写一个程序的插件。hook掉几个socket函数来处理些东西。。然后发现收发有些UDP包的时候目标地址是0.0.0.0。。。我想知道如果地址是这样的话包是怎么传递到目标地址的。。。并且这样怎么能得到真实的主机地址

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 89
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
0.0.0.0地址每个进程都有,我也想搞清楚用这个地址干什么
2012-6-1 00:41
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
按书上说的这应该是广播地址。。。我看网上的说法是dhcp分配啊pppoe拨号导致的ip无法确定都会用0.0.0.0来泛指所有本机IP。。。但是我想知道目的IP也是0.0.0.0的话数据包怎么传递到目标主机的
2012-6-1 00:53
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
UDP数据包里是不包含目标IP和源IP信息的。。。
UDP的IP在伪首部里。。。也就是在IP层。。。
2012-6-3 17:22
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
能不能给点详细资料啊
2012-6-4 18:36
0
雪    币: 40
活跃值: (145)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ssize_t recvfrom(int sockfd,void *buf,int len,unsigned int flags, struct sockaddr *from,socket_t *fromlen);
from:(可选)指针,指向装有源地址的缓冲区。 
这个sockaddr *from里面有地址的吧  
2012-6-4 19:13
0
雪    币: 692
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
0.0.0.0 A类地址子网号和主机号全为零,这个地址比较特别,RFC1122中指出,这个地址不能做目的地址,只能做源地址。

socket绑定这个地址,相当于本地的通配地址,如果主机有多个借口,那么不管发送到哪个接口的数据,绑定到0.0.0.0也就ADDR_ANY的socket,都能收到该报文。

但是0.0.0.0这个地址有个不标准的用法,就是4.2的BSD unix 以及其衍生版但不包括4.3版本的,都把这个地址当作广播地址。RFC1122 的3.3.6要求主机要有识别这种IP地址的能力和配置选项。
2012-6-4 20:29
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如果是在路由里面,这个地址就表示一个默认的路由表项,即有时候我们不填网关和DDNS,让它自动获取,就是一个静态的路由表项了。
2012-6-4 22:17
0
雪    币: 5
活跃值: (516)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
ip地址是在ip包头部的
2012-6-5 09:35
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
10
这样的话取到的地址就是0.0.0.0啊
2012-6-5 18:32
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
11
ring3层怎么得到IP包的内容啊
2012-6-5 18:33
0
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
建议你去看一下网络编程,着重看一下sniffer和包头结构~~
2012-7-27 14:18
0
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
NDIS中间层驱动。
包结构:
mac头+ip头+udp头+udp数据。嗯,应该是这样的
2012-8-3 14:54
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
没有错,上述大牛们说的都挺好。
win系统下,cmd中输入netstat -aon,你查看哪些0.0.0.0 开头的,都是本机监听的端口,你还可以通过后面的pid查看是啥进程在监听
2012-8-24 16:56
0
雪    币: 39
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
UDP我的地址我真的是抓到过的
2012-9-19 10:25
0
游客
登录 | 注册 方可回帖
返回
//