51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 4413|回复: 2
打印 上一主题 下一主题

wireshark是怎么判别不完整的协议包的 [复制链接]

Rank: 2Rank: 2

跳转到指定楼层
楼主
发表于 2013-12-3 10:33:44 |显示全部楼层 |倒序浏览
一键分享 一键分享
我昨天做了个实验,拷贝三段Diameter协议十六进制内容,第一段不完整,将内容通过TCP协议发送,通过wireshark能解析到第二段和第三段的内容,第一段被丢弃了,我想问的是wireshark怎么去判断第一段是破损的,又怎么去判断第二段的开头的呢?望高手赐教!

Rank: 2Rank: 2

沙发
发表于 2013-12-3 13:50:06 |显示全部楼层
wenliu 发表于 2013-12-3 12:30
能贴下你的pcap 截图么?

图可能不好看出来,我是想了解怎么从数据流里面截取数据,然后去掉前面无法判断协议类型的包,然后从完整的包开始去解析。

使用道具 举报

Rank: 2Rank: 2

板凳
发表于 2013-12-4 10:57:11 |显示全部楼层
本帖最后由 Harrison 于 2013-12-4 11:04 编辑
海浪 发表于 2013-12-4 10:14
从数据流查看数据比较麻烦,一般都是TLV的格式。 要分析协议,版本,长度,数值等,需要对协议个数据流格式 ...

因为我们的项目是在不特定的时间去某个端口获取海量数据进行协议解析并分析,然后存库,wireshark只能是辅助工具,检验我们所写的代码是否能实现该有的功能。如果是完整的Diameter协议数据,wireshark能解析出来,如果是缺失的,wireshark就把它当成Data了。通过TCP完整的发送一个Diameter协议数据:



下面是将一段不完整的和完整的数据一起通过TCP发送,wireshark不能识别Diameter,其实后面那段完整的也没解析出来:


又发现个问题:从端口去截取数据,不能确认包头的完整性,根本就不知道该用哪个协议头去解析,难道从ethernet到ip或TCP一个个的协议头去套?
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-23 15:23 , Processed in 0.028530 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部