免费注册 查看新帖 |

Chinaunix

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

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

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

论坛徽章:
0
32 [报告]
发表于 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
33 [报告]
发表于 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
34 [报告]
发表于 2005-12-30 10:53 |只看该作者
-e 命令是可以提供链路层的信息,如mac地址等。

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



还请,tcpdump达人不吝赐教啊

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

论坛徽章:
0
36 [报告]
发表于 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
37 [报告]
发表于 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
38 [报告]
发表于 2006-01-01 23:26 |只看该作者
不错文章,
顶楼主

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



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

论坛徽章:
0
40 [报告]
发表于 2006-01-06 13:13 |只看该作者
ok,good!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP