Linux文本编辑器类似于Notepad ++,用于处理数据包捕获

时间:2010-09-24 01:52:03

标签: linux text-editor notepad++ packet-capture pcap

我正在寻找Notepad ++在Linux文本编辑器中具有的非常具体的功能。

如果您使用tcpdump -x获取网络流量的十六进制转储,Notepad ++允许您通过 Alt -mouse-select然后删除<轻松地删除左侧十六进制/ KBD>。一些简短的替换空格和换行符让你转过来:

 0x0000:  0024 b295 af65 0021 705d 1394 0800 4500  .$...e.!p]....E.
 0x0010:  01c5 c2b4 4000 4006 dfa9 c0a8 0502 adc2  ....@.@.........
 0x0020:  2368 cdf7 0050 434c f5f8 c5a6 6c30 8018  #h...PCL....l0..
 0x0030:  002e 1274 0000 0101 080a 0072 3747 3dbf  ...t.......r7G=.
 0x0040:  7f35 4745 5420 2f20 4854 5450 2f31 2e31  .5GET./.HTTP/1.1
 0x0050:  0d0a 486f 7374 3a20 676f 6f67 6c65 2e63  ..Host:.google.c
 0x0060:  6f6d 0d0a 436f 6e6e 6563 7469 6f6e 3a20  om..Connection:.
 0x0070:  6b65 6570 2d61 6c69 7665 0d0a 4163 6365  keep-alive..Acce
 0x0080:  7074 3a20 6170 706c 6963 6174 696f 6e2f  pt:.application/
 0x0090:  786d 6c2c 6170 706c 6963 6174 696f 6e2f  xml,application/
 0x00a0:  7868 746d 6c2b 786d 6c2c 7465 7874 2f68  xhtml+xml,text/h
 0x00b0:  746d 6c3b 713d 302e 392c 7465 7874 2f70  tml;q=0.9,text/p
 0x00c0:  6c61 696e 3b71 3d30 2e38 2c69 6d61 6765  lain;q=0.8,image
 0x00d0:  2f70 6e67 2c2a 2f2a 3b71 3d30 2e35 0d0a  /png,*/*;q=0.5..
 0x00e0:  5573 6572 2d41 6765 6e74 3a20 4d6f 7a69  User-Agent:.Mozi
 0x00f0:  6c6c 612f 352e 3020 2858 3131 3b20 553b  lla/5.0.(X11;.U;
 0x0100:  204c 696e 7578 2078 3836 5f36 343b 2065  .Linux.x86_64;.e
 0x0110:  6e2d 5553 2920 4170 706c 6557 6562 4b69  n-US).AppleWebKi
 0x0120:  742f 3533 342e 3320 284b 4854 4d4c 2c20  t/534.3.(KHTML,.
 0x0130:  6c69 6b65 2047 6563 6b6f 2920 4368 726f  like.Gecko).Chro
 0x0140:  6d65 2f36 2e30 2e34 3732 2e36 3220 5361  me/6.0.472.62.Sa
 0x0150:  6661 7269 2f35 3334 2e33 0d0a 4163 6365  fari/534.3..Acce
 0x0160:  7074 2d45 6e63 6f64 696e 673a 2067 7a69  pt-Encoding:.gzi
 0x0170:  702c 6465 666c 6174 652c 7364 6368 0d0a  p,deflate,sdch..
 0x0180:  4163 6365 7074 2d4c 616e 6775 6167 653a  Accept-Language:
 0x0190:  2065 6e2d 5553 2c65 6e3b 713d 302e 380d  .en-US,en;q=0.8.
 0x01a0:  0a41 6363 6570 742d 4368 6172 7365 743a  .Accept-Charset:
 0x01b0:  2049 534f 2d38 3835 392d 312c 7574 662d  .ISO-8859-1,utf-
 0x01c0:  383b 713d 302e 372c 2a3b 713d 302e 330d  8;q=0.7,*;q=0.3.
 0x01d0:  0a0d 0a                                

...进入这个,更具可读性:

.$...e.!p]....E.....@.@.........#h...PCL....l0.....t.......r7G=..5
GET./.HTTP/1.1..Host:.google.com..Connection:.keep-alive. .Accept:.
application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=
0.8,image/png,*/*;q=0.5..User-Agent:.Mozilla/5.0.(X11;.U;.Linux.x86
_64;.en-US).AppleWebKit/534.3.(KHTML,.like.Gecko).Chrome/6.0.472.62
.Safari/534.3..Accept-Encoding:.gzip,deflate,sdch..Accept-Language:
.en-US,en;q=0.8..Accept-Charset:.ISO-8859-1,utf-8;q=0.7,*;q=0.3....

那么,有没有人知道Linux文本编辑器可以轻松切换这类数据?

3 个答案:

答案 0 :(得分:3)

在文本编辑器中删除十六进制表示是一种stone knives and bearskins方法。相反,请使用WiresharkFollow TCP Stream feature。它位于Analyze菜单上。通过右键单击数据包列表中的一行,您也可以在上下文菜单中找到它。

此功能不仅为您提供捕获的流的纯文本表示 - 这是您想要的十六进制转储hackery - 它以不同的颜色交错对话的两半,以便您可以在上下文中查看每个回复发送了导致它的消息。你可以改为让它只显示发送一半或只接收一半。它甚至做了一些基本的格式化,比如解释换行符,对HTTP等协议非常有帮助。

使用Wireshark GUI并不总是方便。对于那些必须使用tsharktcpdump进行捕获的时间,您可以使用捕获文件:

$ tshark -w stuff-to-analyze.pcap -i eth1 host 1.2.3.4 and port 5678

例如,您可以在远程Unix机器上运行该机箱,只有SSH或调制解调器访问权限。将stuff-to-analyze.pcap文件发送回您的桌面工作站,您可以在Wireshark中将其加载以进行分析。

答案 1 :(得分:2)

Gvim有一个菜单项tools->convert to hex,可用于块状选择(CTRL-Q)和其他替换。但是,我强烈建议使用Wireshark进行处理或使用Wireshark的导出函数在文本文件中获取格式良好的数据包。

答案 2 :(得分:1)

Geany(对于Linux)与Notepad ++(对于Windows)几乎完全相同。