紧急:怎样用winsock发送arp请求(不用iphlp)
我只想问发送arp请求时,SOCKADDR_IN结构中,sin_port要设置成什么?
还有一个简单的问题:如果我定义变量arp->op(帧类型)为u_short类型,应该赋值成0x0100还是1?
问题点数:100、回复次数:15Top
1 楼ActiveLF(程序人生)回复于 2002-04-23 12:03:37 得分 5
winsock不能发arp请求把。。。。。。Top
2 楼lduck08(duck)回复于 2002-04-23 12:19:04 得分 0
怎么可能???Top
3 楼lduck08(duck)回复于 2002-04-23 12:19:37 得分 0
给个理由,先……Top
4 楼ActiveLF(程序人生)回复于 2002-04-23 12:35:03 得分 0
arp是请求硬件地址的。winsock层次太高啦。。。Top
5 楼eion(那个谁)回复于 2002-04-23 12:37:22 得分 5
采用原始套接字Top
6 楼ExitWindows(void)回复于 2002-04-23 13:07:49 得分 0
怎样用winsock发送arp请求(不用iphlp)???
就算你用iphlp也发不了。Top
7 楼lduck08(duck)回复于 2002-04-23 13:30:52 得分 0
用winsock中的sendto函数,将其中的buf填入arp请求的分组格式,为什么不行呢?
Top
8 楼west_wood(HelloWorld)回复于 2002-04-23 14:06:10 得分 30
具有所知用WinSock是不能发ARP包的,WinSock只能发IP包,
要发ARP包必须要用链路层的接口,因为必须告诉链路层的接口你的帧类型为ARP而不是IPTop
9 楼west_wood(HelloWorld)回复于 2002-04-23 14:11:36 得分 0
请句一下,你为什么不能用iphlp啊,又简单又方便。Top
10 楼lduck08(duck)回复于 2002-04-23 14:45:29 得分 0
怎么变成乱码了?
west_wood:
我没有用过iphlpapi,你能告诉我怎么用吗?要装什么?(我的机器上没有iphlpapi.h),怎样使程序中可以调用iphelper的api函数?
另外,用iphlpapi写的程序,可以在windows95或98上运行吗?Top
11 楼runbuff(玩水的人)回复于 2002-04-23 14:53:12 得分 30
lduck08:
iphlpapi写的程序可以在98下运行,但98不支持SendArp,SendArp只能用于2000下。Top
12 楼ActiveLF(程序人生)回复于 2002-04-23 14:55:13 得分 30
to duck:socket包里面是可以写成arp格式的东西。可是你知道从ip到下面还有一些协议层,每经过一层,协议会自动给你的包加个头再加个尾。等到真的要发到线路上时,你的包已经面目全非了。Top
13 楼lduck08(duck)回复于 2002-04-23 14:55:47 得分 0
runbuff:
怎样使程序中可以调用iphlpapi呢?另外,除了VC++需要装什么?Top
14 楼lduck08(duck)回复于 2002-04-23 15:20:28 得分 0
我知道了。谢谢大家!
iphlpapi的问题,我已经在过去的文档里找到了。Top




