免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jeffyan
打印 上一主题 下一主题

超级详细Tcpdump 的用法(原创) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-12-25 18:50 |只看该作者
原帖由 zenith518 于 2005-12-25 10:50 发表
其实LZ 只说明了过滤语句的用法,没有将很重要另外一个参数说明,也就是说,如果这个参数不设置正确,会导致包数据的丢失!

它就是-s 参数,snaplen, 也就是数据包的截取长度,仔细看man就会明白的!默认截取长 ...


要考虑这个参数

论坛徽章:
0
12 [报告]
发表于 2005-12-25 18:55 |只看该作者
原帖由 ocean390 于 2005-12-22 19:56 发表
可是怎么能用ascii显示数据包的内容呢,一直没搞定这个问题

Ethereal 能直接显示的

论坛徽章:
0
13 [报告]
发表于 2005-12-25 21:06 |只看该作者
我昨天也发现了那个参数,但是没有试,谢谢zenith518 兄弟还有楼主!

to zenith518:谢谢你!真希望与你做朋友!

论坛徽章:
0
14 [报告]
发表于 2005-12-25 21:21 |只看该作者
很不错, 我虽然经常用它,还是从这篇文章里面学了不少东西

论坛徽章:
0
15 [报告]
发表于 2005-12-25 22:22 |只看该作者
各位有兴趣,我可以多说一点。
LZ所说的这个格式有一个业界标准,称作bpf (Berkeley Packet Filter)包过滤语言。现在有很多抓包工具支持这个标准。包扩ethereal的capture filter, 注意不是displayfilter, 因为ethereal的display filter 使用了近似于C/C++表达式的另一套自己的表达方式。
其实,如果各位使用过libpcap的,就知道,所有的libpcap都需要snaplen 这个参数设定才能抓到整个的包数据。那如果不熟悉C/C++怎么办?,没关系那也可以结合tcpdump -xls 0 命令行加管道导向到Awk的程序来自己解析IP数据包并分析应用层的数据。如果用tcpdump+Perl的话,更可以经过简单的包数据重构,方便地组成NetPacket模块能自动识别的包数据,让现成的NetPacket模块自动解析和分析底层的IP和TCP/UDP层数据包。而你则只要懂得gawk/nawk或Perl就可以简单的自己编程来解析非标的应用层的数据了。注意,这里我并没有使用perl 的libpcap兼容模块,而是直接用tcpdump替代了。这样对Perl模块的要求降得比较低了,如果遇到非标的协议,就是不会C/C++, 没装抓包的perl模块,也可以通过自己编程来解析数剧包了!

论坛徽章:
0
16 [报告]
发表于 2005-12-26 10:10 |只看该作者

我看见牛人了

楼上的,pf一下

论坛徽章:
0
17 [报告]
发表于 2005-12-26 11:57 |只看该作者
我还发现一个问题就是在ethereal的最下边的显示实际包ascii字节的窗口,都不能正常显示汉字,不知道大家是否已解决此问题?

论坛徽章:
0
18 [报告]
发表于 2005-12-26 12:41 |只看该作者
现在的抓包工具,都不能正确显示汉字,而在实际工作中,也可以通过其他方法弥补,这个不足。如果真需要这么做,那就需要自己解包了。如果想查看HTTP协议中的东西,在客户端IE中装一个HTTP协议查看工具插件就可以了,这样即可以看协议头,又可以看内容。要么在服务器端装支持相应编码的代理,然后dump数据。

论坛徽章:
0
19 [报告]
发表于 2005-12-26 16:19 |只看该作者
to zenith518:

还好的是可以通过hex value来查包中的汉字。我是先在linux上边tcpdump出完整的package data,然后呢,将文件down到windows上来用ethereal来做查看的。

我不是很理解你所说的 '要么在服务器端装支持相应编码的代理,然后dump数据。
你说的编码的代理,我觉得这个与整个网页的charset是有关系的。可能是不同的charset,gb2312,unicode或是gbk之类的。很难理解你说的编码的代理是什么东东?

我想ethereal就是没有去分析每个包应该用什么来charset来做显示,所以都以ascii来显示了。所以汉字就显示不出来。
要想ethereal知道使用什么样的charset显示,那么就需要联系其他包里的charset设置来做显示,看来ethereal目前还没这么做,就只是简单的显示ascii。

你的回答非常好,讲出了思路,比较开阔。另外,perl确实是个好东东。

论坛徽章:
0
20 [报告]
发表于 2005-12-26 16:45 |只看该作者
支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP