Chinaunix首页 | 论坛 | 博客

tt

  • 博客访问: 10006
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-13 15:06
文章分类

全部博文(18)

文章存档

2015年(18)

我的朋友

分类: 网络与安全

2015-08-18 16:46:33

ARP协议的报文格式


我用MFC写的,带有界面。
工具 VS2012(稳定性好),winpcap文档以及插件

发送总体分为3步走。第一步打开适配器(winpcap文档中有对应的函数);第二步构造在以太网上使用的arp发送包,包个结构如上图所示,包最小长度为64,虽然实际最小只需要42(不带数据),但是学过网络通信的应该知道,64是基本要求;最后一步,发送arp数据包(winpcap文档中有对应的函数

接受总体分为2步走。第一步打开适配器(winpcap文档中有对应的函数);第二步(比较重要),先要过滤掉在信道上不需要的数据包,过滤函数文档上有,然后再抓取需要的arp包,最后按照上图的结构分解arp包,得到自己想要的东西(比如对方的IP和MAC)。

在这个过程中,可以用到的技巧有 

char*itoa(int value,char*string,int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
这个在数据转换上,非常方便,建议大家掌握!




阅读(128) | 评论(0) | 转发(0) |
0

上一篇:程序,进程,线程

下一篇:网络连接

给主人留下些什么吧!~~