免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2178 | 回复: 7
打印 上一主题 下一主题

如何在linux构造一个arp包 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-03 10:14 |只看该作者 |倒序浏览
如何在linux下构造一个arp包,用原始套接字吗?但socket()里面的proto还是IP吗?在网上也没有查到比较详细的相关资料。
请帮一下小弟,谢谢

论坛徽章:
0
2 [报告]
发表于 2005-08-03 12:18 |只看该作者

如何在linux构造一个arp包

以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的特殊地址是
广播地址。电缆上的所有以太网接口都要接收广播的数据帧。
两个字节长的以太网帧类型表示后面数据的类型。对于A R P请求或应答来说,该字段的
值为0 x 0 8 0 6。
形容词h a r d w a r e (硬件)和p r o t o c o l (协议)用来描述A R P分组中的各个字段。例如,一个A R P
请求分组询问协议地址(这里是I P地址)对应的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型字段表示要
映射的协议地址类型。它的值为0 x 0 8 0 0即表示I P地址。它的值与包含I P数据报的以太网数据
帧中的类型字段的值相同,这是有意设计的(参见图2 - 1)。
接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址
的长度,以字节为单位。对于以太网上I P地址的A R P请求或应答来说,它们的值分别为6和4。
操作字段指出四种操作类型,它们是A R P请求(值为1)、A R P应答(值为2)、R A R P请求
(值为3)和R A R P应答(值为4)(我们在第5章讨论R A R P)。这个字段必需的,因为A R P请求
和A R P应答的帧类型字段值是相同的。
接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址
(I P地址)、目的端的硬件地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和A R P请求数据帧中都有发送端的硬件地址。
对于一个A R P请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收
到一份目的端为本机的A R P请求报文后,它就把硬件地址填进去,然后用两个目的端地址分
别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。

论坛徽章:
0
3 [报告]
发表于 2005-08-03 12:59 |只看该作者

如何在linux构造一个arp包

考,楼主你把这个问题在Internet的每个BBS,每个BBS的每个版快都发一遍,不用学也就会了。

论坛徽章:
0
4 [报告]
发表于 2005-08-03 13:36 |只看该作者

如何在linux构造一个arp包

论坛徽章:
0
5 [报告]
发表于 2005-08-04 10:19 |只看该作者

如何在linux构造一个arp包

please see arping's source code
man packet

论坛徽章:
0
6 [报告]
发表于 2005-08-12 13:12 |只看该作者

如何在linux构造一个arp包

用这个:

    sd=socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));

论坛徽章:
0
7 [报告]
发表于 2005-08-12 13:29 |只看该作者

如何在linux构造一个arp包

可以用libnet.
linux-ha 项目中有一个功能实现了构造发送arp包。
参考前请注意版权(GPL).
http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/heartbeat/libnet_util/send_arp.c?view=markup
IPv6的实现(ICMPv6)
http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/IPv6addr.c?view=markup

论坛徽章:
0
8 [报告]
发表于 2005-08-15 22:31 |只看该作者

如何在linux构造一个arp包

很多方法吧,偶认为最简单的方法还是libpcap
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP