忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: jeffyan

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

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
发表于 2005-12-29 18:03 |显示全部楼层
谈到详细,还是man最详细了。lz好多开关项都没有谈及到呀,如-n -vv -e 等等,还有好多呢。这篇也就算是个入门

论坛徽章:
0
发表于 2005-12-30 10:33 |显示全部楼层

我来加几条

-l 可以重定向。
例如“tcpdump -l 〉dat & tail -f  dat”,再例如tcpdump -l |grep "sldfj"


过滤源主机物理地址为XXX的报头
如 tcpdump ether src 00:0c:76:32:80:14 and dst ...

论坛徽章:
0
发表于 2005-12-30 10:38 |显示全部楼层
-n 不要转换地址(端口号,等)为名字。
如在不加-n时 tcpdump tcp port 80
10:48:07.039534 IP 222.36.42.67.http > 211.94.162.45.1299: P 955852503:955852797(294) ack 2262906593 win 6672

在加-n的情况下 tcpdump tcp port 80 -n
10:49:30.406379 IP 211.94.163.93.1125 > 66.249.89.104.80: F 2182359613:2182359613(0) ack 3130821434 win 64947

不同是在不加-n时端口号为80等已知协议端口都会自动转换为http等协议名称

论坛徽章:
0
发表于 2005-12-30 10:53 |显示全部楼层
-e 命令是可以提供链路层的信息,如mac地址等。

-v -vv -vvv,是verbose(啰嗦)模式,一个比一个啰嗦。具体有什么差别,我也不是特别清楚。



还请,tcpdump达人不吝赐教啊

论坛徽章:
0
发表于 2005-12-30 22:20 |显示全部楼层
如果要看HTTP协议,可以在Windows的IE客户端安装HTTPWatch,就可以看到和服务器对话的所有应用层的东西,包括HTTP头消息,内容中的汉字也会正确显示。如果想发现,服务器对浏览器的重定向动作,也可以用这个冬冬,用起来很舒服的。

论坛徽章:
0
发表于 2005-12-30 23:30 |显示全部楼层
原帖由 bulletming 于 2005-12-28 02:15 发表
抱着试试看的想法!我发现通过tcpdump加上-X的参数之后,直接倒成一个ascii的文件,然后你选择适合的工具来查看该文件就可以了。这样子的话,看汉字就没有问题了,直接按汉字搜索就可以了。
记事本看gb2312是没有 ...

这样是不行的,因为 -X之后,tcpdump只是将十六进制数值转换成ASCII数字在左边dump出来,如果该值能显示ASCII字符,就在右边显示,如果遇到不能显示的值(包括汉字),它就显示为".",所以要显示的话还是要自己编程解析出应用层,获取HTTP头,并按头中的charset指示对HTTP传输内容进行汉字编码的显示。

如果要sniffer MSN,有一个软件专门可以看,不过看别人聊天隐私好像也不太好吧。
http://www.effetech.com/

[ 本帖最后由 zenith518 于 2005-12-30 23:35 编辑 ]

论坛徽章:
0
发表于 2005-12-31 10:27 |显示全部楼层
原帖由 zenith518 于 2005-12-30 23:30 发表

这样是不行的,因为 -X之后,tcpdump只是将十六进制数值转换成ASCII数字在左边dump出来,如果该值能显示ASCII字符,就在右边显示,如果遇到不能显示的值(包括汉字),它就显示为".",所以要显示的话还 ...


hi,zenith518:
我试过了还是可以的呀!
从我以前一点点经验来看的话,我觉得ascii编码是非常完整的,不会轻易的truncate bit的,可以接受任何字符集一种字符集,以前我曾建了一个db,我选择的是最简单的ascii(当时很幼稚),当时呢,我客户端提交的以gb2312的方式提交的所有字符他都是可以接受的,然后呢,从数据库取出来之后呢,只要客户端ie选择合适的charset方式就可以显示了。我觉得字符的解析主要靠ie来完成的。但后来还是改了,因为使用一个java的Jasperreport作webprint,然后从db里边取出来都是乱码,后来只好转换整个db的charset

我在linux用vi去看tcpdump -X导出的数据,都可以很正常地看到的,并没有显示".",这个主要我觉得与你客户端telnet的工具有关。只要一个汉字它本身对应的两个bytes中的bit没有变,选择合适的对应的支持该charset的工具就能够查看的。tcpdump并没有对任何本身数据做更改。

我说那个是有局限的,
如果你过滤出来的ip packet中gb2312和unicode两种编码(来自或者送给不同网站编码可能多种),我想记事本不会正常显示的,ie的一个页面也也只能显示一种编码,这时候就需要想说你去根据其他包的charset来显示当前的包里的数据了。

如果ethereal软件最下边的窗口能够选择正确的charset来显示package byte,那就比较的完美了。

不过,我这边要求很简单,我就是监测到某一个网站的所有进出包,这样子可以了。

论坛徽章:
0
发表于 2006-01-01 23:26 |显示全部楼层
不错文章,
顶楼主

论坛徽章:
0
发表于 2006-01-02 11:59 |显示全部楼层
原帖由 zenith518 于 2005-12-30 22:20 发表
如果要看HTTP协议,可以在Windows的IE客户端安装HTTPWatch,就可以看到和服务器对话的所有应用层的东西,包括HTTP头消息,内容中的汉字也会正确显示。如果想发现,服务器对浏览器的重定向动作,也可以用这个冬冬, ...



用了,感觉还是没有Ethereal的全面具体
可能因人而异吧

论坛徽章:
0
发表于 2006-01-06 13:13 |显示全部楼层
ok,good!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票7.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP