2015-08-28 84 views
5

如果在wireshark中使用“Follow TCP stream”,则会为客户端服务器对话获得非常好的显示效果。Wireshark:转储客户端 - 服务器对话

一种颜色是客户端,另一种颜色是服务器。

有没有办法将这个转储到ascii而不失去谁说什么?

例如:

server> 220 "Welcome to FTP service for foo-server." 
client> USER baruser 
server> 331 Please specify the password. 
client> supersecret 

我想避免的截图。将“server>”和“client>”添加到行是容易出错的。

+0

您是否尝试保存为顶盖文件? – Sunny

+0

您可以将包列表实际导出为各种格式。您可以尝试将其导出为csv以实现您的目标 –

+0

@Bas在“Follow TCP Stream”对话框的导出列表中看不到“csv”。我看到了ASCII,EBCDIC,Hex Dump,C Arrays,Raw。这些格式都不易于人眼阅读。你无法快速看到谁(客户端或服务器)说了些什么。 – guettli

回答

2

这可能是不可能的与GUI的版本,但它是可实现的与console versiontshark

tshark -r capture.pcap -qz follow,tcp,ascii,<stream_id> > stream.txt

替换<stream_id>与实际的流ID(例如:1):

tshark -r capture.pcap -qz follow,tcp,ascii,1 > stream.txt

这将输出一个ASCII文件。如何比直接从GUI版本中保存更好?良好:

  • 由所述第二节点是用制表前缀发送到从由所述第一节点发送的数据区分开来的数据。

  • 由于ASCII模式的输出可能包含换行符,输出加上一个换行符的每个部分的长度之前输出的每个部分。

这使得该文件很容易解析的。示例输出:

=================================================================== 
Follow: tcp,ascii 
Filter: tcp.stream eq 1 
Node 0: xxx.xxx.xxx.xxx:51343 
Node 1: yyy.yyy.yyy.yyy:80 
786 
GET ... 
Host: ... 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 
Accept: */* 
User-Agent: ... 
Referer: ... 
Accept-Encoding: ... 
Accept-Language: ... 
Cookie: ... 

    235 
HTTP/1.1 200 OK 
Cache-Control: no-cache, no-store 
Pragma: no-cache 
Content-Type: ... 
Expires: -1 
X-Request-Guid: ... 
Date: Mon, 31 Aug 2015 10:55:46 GMT 
Content-Length: 0   
=================================================================== 

786\n是从Node 0所述第一输出部分的长度。 \t235\n是来自Node 1等的响应部分的第十八个等等。

+0

基于上面的示例脚本,需要一些修补:http://noahdavids.org/self_published/tshark-follow-stream.html – aergistal

+1

我使用这个:'tshark -r tmp/ftp_2015-12-16.pcap -R ftp它会输出“请求”和“响应”。通过这种方式,我可以清楚地看到客户端和客户端所说的*什么。 – guettli