请问raw socket能发arp包吗?
有人说不可以
因为arp包不是ip包
对吗?
问题点数:100、回复次数:7Top
1 楼lbskeleton(lllbbb)回复于 2004-09-04 09:20:43 得分 20
就我所知,raw_sock是不能发送arp包的,它最多访问到网络层(从ip包头开始),使用ARP协议要到数据链路层,要使用具备有数据链路层访问能力的接口,象UNIX的BPF,winodws的NDIS,另外可以使用libpcap(for unix)/winpcap(foe win)这个包捕获库,它提供了底层访问能力,而且在高层作了简化,调用起来很方便!而且编写的程序可在unix/win下通用,不过就是要下载安装pcap库。Top
2 楼limin(www.haha567.com)回复于 2004-09-04 09:31:54 得分 15
在windows下是不行的,其他平台俺不了解……Top
3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-09-04 10:13:55 得分 20
参考一下
http://blog.csdn.net/piggyxp/archive/2004/05/31/19606.aspxTop
4 楼joachern(程序人生)回复于 2004-09-04 10:37:00 得分 5
gzTop
5 楼iorikingdom(iori)回复于 2004-09-04 13:21:39 得分 20
windows下的raw socket是不可以的,
但是linux下的可以,建议楼主如果想发ARP包的话用winpcap吧Top
6 楼PiggyXP(【小猪】技术太差没脸上班,只好去念Ph.D了-_-b)回复于 2004-09-04 14:00:08 得分 20
完全同意iorikingdom(iori)
因为windows下的raw socket数据包不包括以太头Top
7 楼msdn_user(蓝天)回复于 2004-09-04 14:23:01 得分 0
ok
我试试winpcapTop




