在windows下用C语言解析wirshark的pcap文件

lyricric 2015-12-14 08:22:10
老师布置的项目,主要是解析出包的五元组,然后根据五元组分类。
网上看了很多帖子。都感觉比较复杂,而且多为linux下。有没有大神提点一下该怎么做。
有点手足无措。求解救啊。分不多。。哪怕给我一点提示也好。。
...全文
485 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-12-16
  • 打赏
  • 举报
回复
在windows下就不能装个虚拟机运行linux程序了?
fly_dragon_fly 2015-12-16
  • 打赏
  • 举报
回复
引用 6 楼 lyricric 的回复:
[quote=引用 1 楼 fly_dragon_fly 的回复:] 什么是五元组
目的IP,源IP,目的port,源port,协议。 [/quote]找个文件格式,对着解析就可以了
lyricric 2015-12-16
  • 打赏
  • 举报
回复
引用 8 楼 fly_dragon_fly 的回复:
[quote=引用 6 楼 lyricric 的回复:] [quote=引用 1 楼 fly_dragon_fly 的回复:] 什么是五元组
目的IP,源IP,目的port,源port,协议。 [/quote]找个文件格式,对着解析就可以了[/quote] 嗯嗯 已经能初步解析TCP和UDP。其他的还再尝试中
lyricric 2015-12-16
  • 打赏
  • 举报
回复
引用 7 楼 mLee79 的回复:
[quote=引用 4 楼 lyricric 的回复:] [quote=引用 3 楼 mLee79 的回复:] 一般存 tcpdump 格式吧, 这个格式解析的资料多, 格式也简单。 前 24 字节的文件头, INT32 magic; // 0x1A2B3C4D, 如果是小端序的就存 成 4D 3C 2B 1A , 大端序的就存成 1A 2B 3C 4D INT16 verMajor, verMinor; INT32 timeZone; INT32 SigFigs; INT32 SnapLen; INT32 LinkType; 后面就跟抓包的数据, 每个包含 16 字节的包头 和 协议数据。 16 字节包头为, INT64 TimeStamp; INT32 Caplen; INT32 Len; wirshark tcpdump 都是开源的, 这些资料很好找的。
老师要求是要用pcap格式的。[/quote] tcpdump 的格式就是 pcap 啊, pcap 只是把 Linux/Unix 的格式弄到了 WIN 下了。 WIN的TCP/IP的协议栈本来抄的啊, 大家用 Linux 有啥奇怪的。[/quote] 初次接触这方面不太了解,昨天才知道是根据文件格式解析的。勉勉强强解析了一个过滤后的TCP和UDP。。
lyricric 2015-12-16
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
在windows下就不能装个虚拟机运行linux程序了?
啊 。。我没想到。不过我发现新版的VS很多库重合了。
赵4老师 2015-12-15
  • 打赏
  • 举报
回复
linux下的C和Windows下的C在用来解析pcap时的代码有区别吗?
fly_dragon_fly 2015-12-15
  • 打赏
  • 举报
回复
什么是五元组
mLee79 2015-12-15
  • 打赏
  • 举报
回复
引用 4 楼 lyricric 的回复:
[quote=引用 3 楼 mLee79 的回复:] 一般存 tcpdump 格式吧, 这个格式解析的资料多, 格式也简单。 前 24 字节的文件头, INT32 magic; // 0x1A2B3C4D, 如果是小端序的就存 成 4D 3C 2B 1A , 大端序的就存成 1A 2B 3C 4D INT16 verMajor, verMinor; INT32 timeZone; INT32 SigFigs; INT32 SnapLen; INT32 LinkType; 后面就跟抓包的数据, 每个包含 16 字节的包头 和 协议数据。 16 字节包头为, INT64 TimeStamp; INT32 Caplen; INT32 Len; wirshark tcpdump 都是开源的, 这些资料很好找的。
老师要求是要用pcap格式的。[/quote] tcpdump 的格式就是 pcap 啊, pcap 只是把 Linux/Unix 的格式弄到了 WIN 下了。 WIN的TCP/IP的协议栈本来抄的啊, 大家用 Linux 有啥奇怪的。
lyricric 2015-12-15
  • 打赏
  • 举报
回复
引用 1 楼 fly_dragon_fly 的回复:
什么是五元组
目的IP,源IP,目的port,源port,协议。
lyricric 2015-12-15
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
linux下的C和Windows下的C在用来解析pcap时的代码有区别吗?
部分的库和函数不太一样。我一直想知道为什么大家都用linux不用 windows。而且位数也不一样
lyricric 2015-12-15
  • 打赏
  • 举报
回复
引用 3 楼 mLee79 的回复:
一般存 tcpdump 格式吧, 这个格式解析的资料多, 格式也简单。 前 24 字节的文件头, INT32 magic; // 0x1A2B3C4D, 如果是小端序的就存 成 4D 3C 2B 1A , 大端序的就存成 1A 2B 3C 4D INT16 verMajor, verMinor; INT32 timeZone; INT32 SigFigs; INT32 SnapLen; INT32 LinkType; 后面就跟抓包的数据, 每个包含 16 字节的包头 和 协议数据。 16 字节包头为, INT64 TimeStamp; INT32 Caplen; INT32 Len; wirshark tcpdump 都是开源的, 这些资料很好找的。
老师要求是要用pcap格式的。
mLee79 2015-12-15
  • 打赏
  • 举报
回复
一般存 tcpdump 格式吧, 这个格式解析的资料多, 格式也简单。 前 24 字节的文件头, INT32 magic; // 0x1A2B3C4D, 如果是小端序的就存 成 4D 3C 2B 1A , 大端序的就存成 1A 2B 3C 4D INT16 verMajor, verMinor; INT32 timeZone; INT32 SigFigs; INT32 SnapLen; INT32 LinkType; 后面就跟抓包的数据, 每个包含 16 字节的包头 和 协议数据。 16 字节包头为, INT64 TimeStamp; INT32 Caplen; INT32 Len; wirshark tcpdump 都是开源的, 这些资料很好找的。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧