- 论坛徽章:
- 0
|
原帖由 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,那就比较的完美了。
不过,我这边要求很简单,我就是监测到某一个网站的所有进出包,这样子可以了。 |
|