使用WinPcap抓取ARP数据包,其中定义ARP数据包结构体如下:
typedef struct ArpPacket
{
u_int16_t macaddrtype;
u_int16_t proaddrtype;
u_int8_t macaddrlen;
u_int8_t proaddrlen;
u_int16_t operationtype;
u_int8_t srcmac[6];
struct in_addr srcip;// u_int8_t srcip[4];定义为字符数组能正确输出
u_int8_t dstmac[6];
struct in_addr dstip;//u_int8_t dstip[4];
}AP;
在源程序中读取协议字段内容:
......
p=parp->srcmac;
printf("源MAC:%02x:%02x:%02x:%02x:%02x:%02x/n",p[0],p[1],p[2],p[3],p[4],p[5]);
p=parp->dstmac;
printf("源ip:%s/n",inet_ntoa(parp->srcip));// 出错
printf("目的MAC:%02x:%02x:%02x:%02x:%02x:%02x/n",p[0],p[1],p[2],p[3],p[4],p[5]);
printf("目的ip:%s/n",inet_ntoa(parp->dstip));//出错
结果:源MAC地址能正确输出,但输出源IP地址时,跳过2个字节,输出后面4个字节内容;后
面目的MAC地址输出往后6个字节,输出目的IP时,又跳过2个字节,输出后面4个字节!
但当把源IP定义为"u_int8_t srcip[4];"时就能正确输出;
然而,IP数据包首部最后两个字段为源IP和目的IP,都定义为struct in_addr类型,可以正确
输出IP地址;我将ARP数据包的两个IP地址字段移到ARP数据包结构体最后2个字段,也能正确
输出!
我现在的想法是:struct in_addr类型字段不能放在结构体中间,放在最后可以,但不知道具
体原因。
PS:
2010-08-09 补充
这是由于定义结构体时,字节对齐问题。
分享到:
相关推荐
草稿纸软件对视图区域各种信息进行保存,不会丢失信息,文件保存到本地,也不会泄露信息 草稿纸软件实现输入文字的白色区域透明,文字本身也可以设置透明度,文字不会与图片或其他内容混色,输入体验巨爽,视口效果...
ajax自动保存草稿 ajax自动保存草稿 ajax自动保存草稿
NULL 博文链接:https://jxdwuao.iteye.com/blog/1585009
自己定制的CSDN博客客户端,可以查看文章列表、评论数、阅读数,以及发布文章,保存草稿,后续功能会添上并逐渐完善该程序
GB28181草稿非影印版,GB28181主要框架内容相同,非常适合学习
android 新建一个草稿,保存,然后全部删除会话,关机再开机后还会显示保存的草稿,下面与大家分享下具体的解决方法
新的个税起计算器,借用CSDN的空间暂时放一下,烦请版主手下留情,谢谢。
http://blog.csdn.net/qiujuer/article/details/41826865
除了管理以上显性的知识外,类似日记,科研心得,论文草稿等瞬间产生的隐性知识也可以通过NoteExpress的笔记功能纪录,并且可以与参考文献的题录联系起来。在编辑器(比如MS Word)中NoteExpress可以按照各种期刊...
path = rC:\Users\Administrator\Desktop\CSDN博客草稿\文件的读\password.txt #传入要读的文件路径 file = open(path,r,encoding=utf-8,errors=ignore) open表示打开你要执行的文件用读的方式打开 第一个参数是...
安卓期末大作业-日记本(免积分下载) ...最后,未写完的日记可以存储到草稿箱暂存,需要注意的是,只会为你暂存日记文本。 此外,软件设有启动密码,日记支持加密,备份恢复。 详细情况情况我的文章介绍 ...
从零实现一个电子商务网站--界面设计布局(作者:GhostBear) 网站的界面设计布局,用word画的草稿
这真正是 Michael Jordan 写的 An introduction to probabilistic graphic models的草稿
Fix:修复已知帖子草稿预览时的 Bug Fix:修复已知菜单显示的 Bug 更新:开启 lightbox 功能 Fix:修复用户组权限的 Bug 更新:修复已知 Bug,优化邮箱发信 Feature:支持验证手机 Feature:优化视频播放,新增播放器 更新:...
面向用户:配件经销商 提供对大容量配件目录的管理 提供对配件的销售管理 提供对配件的定购管理 提供对客户、供应商往来对帐的管理。...全面支持草稿管理模式 全面回收站管理模式 提供在线升级功能
" " " "概念模型设计阶段 " "当我在草稿纸上涂涂改改了三个版本之后,我开始了powerdesign的建模,从局部的E-" "R图开始,一点一点的完善修改,然后得到了我的初步概念模型。之后我又对每个实体" "间的的联系进行了...
2021版,草稿本,非正式版,矢量,高清,可检索,可复制,Road vehicles — Safety of the intended functionality,预期功能安全 完整版64页
它可以高效地从收件箱、发送、草稿等Gmail文件夹中批量获取电子邮件地址。 它以惊人的速度工作,在最短的时间内为你提供细节。 这个Gmail邮箱id收割机有才能从领域像到,从,抄送,密送,等。 现在,您还希望在...
连个草稿纸都不给。 答完后,面试官看了看,然后就些问题讨论了些。我的一些概念性的东西不是很清楚,我这人不喜欢看文字性的描述,给个图什么都明白了。他说我花了一个小时的时间完成,说男生做的会快些,然后又说...
Qt - 导航栏的实现 只是当初练手的一些草稿类的东西,具体请参考博文 http://blog.csdn.net/lys211/article/details/43743187