站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

TCPflow:在Linux中分析和調(diào)試網(wǎng)絡(luò)流量的利器

TCPflow:在Linux中分析和調(diào)試網(wǎng)絡(luò)流量的利器

【51CTO.com快譯】TCPflow是一款功能強大的、基于命令行的免費開源工具,用于在Unix之類的系統(tǒng)(如Linux)上分析網(wǎng)絡(luò)流量。它可捕獲通過TCP連接接收或傳輸?shù)臄?shù)據(jù),并存儲在文件中供以后分析,采用的格式便于協(xié)議分析和調(diào)試。

它實際上是類似tcpdump的工具,因為它處理來自網(wǎng)絡(luò)或存儲文件的數(shù)據(jù)包。它同樣支持tcpdump支持的功能強大的過濾表達式。唯一的區(qū)別是,tcpflow讓所有TCP數(shù)據(jù)包井然有序,并在單獨的文件(每路方向的數(shù)據(jù)流有一個文件)中組裝每路數(shù)據(jù)流,供以后分析。

功能特性包括一個高級插件系統(tǒng),用于解壓縮壓縮的HTTP連接、撤消MIME編碼或調(diào)用后期處理的第三方程序等等。

TCPflow有許多使用場景,包括了解網(wǎng)絡(luò)數(shù)據(jù)包流量,還支持執(zhí)行網(wǎng)絡(luò)取證分析和泄露HTTP會話的內(nèi)容。

如何在Linux系統(tǒng)中安裝TCPflow?

TCPflow可以在主流GNU/Linux發(fā)行版的官方代碼倉庫中找到,可以使用軟件包管理器安裝它,如下所示。

  1. $ sudo apt install tcpflow #Debian/Ubuntu  
  2. $ sudo yum install tcpflow #CentOS/RHEL  
  3. $ sudo dnf install tcpflow #Fedora 22+  

安裝TCPflow后,可以用超級用戶權(quán)限來運行它,不然使用sudo命令。注意:它可偵聽活動的網(wǎng)絡(luò)接口(比如enp0s3)。

  1. $ sudo tcpflow  
  2. tcpflow: listening on enp0s3  

默認情況下,TCPflow將所有捕獲的數(shù)據(jù)存儲在表單中有名稱的文件中(如果你使用某些選項,比如timestamp,這可能不一樣)。

  1. sourceip.sourceport-destip.destport  
  2. 192.168.043.031.52920-216.058.210.034.00443  

現(xiàn)在不妨列出目錄,看看TCP流量是否已捕獲在任何文件中。

  1. $ ls -1  
  2. total 20  
  3. -rw-r--r--. 1 root root 808 Sep 19 12:49 192.168.043.031.52920-216.058.210.034.00443  
  4. -rw-r--r--. 1 root root 59 Sep 19 12:49 216.058.210.034.00443-192.168.043.031.52920  

如上所述,每路TCP流量存儲在各自的文件中。從上面輸出可以看出,有三個記錄文件(transcript file),這表明TCPflow呈兩個截然不同的方向,源IP在第一個文件中,目的地IP在第二個文件中,反之亦然。

第一個文件192.168.043.031.52920-216.058.210.034.00443含有從主機192.168.043.031(TCPflow運行所在的localhost,通過端口52920)傳輸?shù)街鳈C216.058.210.034(遠程主機,通過端口443)的數(shù)據(jù)。

而第二個文件216.058.210.034.00443-192.168.043.031.52920含有從主機216.058.210.034(遠程主機,通過端口443)傳輸?shù)街鳈C192.168.043.031(TCPflow運行所在的localhost,通過端口52920)的數(shù)據(jù)。

還生成了一個XML報告,含有關(guān)于該程序的信息,比如它是如何編譯的、它在哪臺計算機上運行以及每條TCP連接的記錄。

你可能注意到了,TCPflow默認情況下將記錄文件存儲在當前目錄下。-o選項可幫助你指定將寫入文件的輸出目錄。

  1. $ sudo tcpflow -o tcpflow_files  
  2. $ sudo ls -l tcpflow_files  
  3. total 32  
  4. -rw-r--r--. 1 root root 1665 Sep 19 12:56 157.240.016.035.00443-192.168.000.103.45986  
  5. -rw-r--r--. 1 root root 45 Sep 19 12:56 169.044.082.101.00443-192.168.000.103.55496  
  6. -rw-r--r--. 1 root root 2738 Sep 19 12:56 172.217.166.046.00443-192.168.000.103.39954  
  7. -rw-r--r--. 1 root root 68 Sep 19 12:56 192.168.000.102.00022-192.168.000.103.42436  
  8. -rw-r--r--. 1 root root 573 Sep 19 12:56 192.168.000.103.39954-172.217.166.046.00443  
  9. -rw-r--r--. 1 root root 4067 Sep 19 12:56 192.168.000.103.45986-157.240.016.035.00443  
  10. -rw-r--r--. 1 root root 38 Sep 19 12:56 192.168.000.103.55496-169.044.082.101.00443  
  11. -rw-r--r--. 1 root root 3159 Sep 19 12:56 report.xml  

你還可以將數(shù)據(jù)包的內(nèi)容輸出到stdout,并不將任何捕獲的數(shù)據(jù)存儲到文件,只需使用-c標志,如下所示。

想有效地進行測試,打開第二個端口,運行ping,或瀏覽互聯(lián)網(wǎng)。你應(yīng)該能夠看到ping細節(jié)或瀏覽細節(jié)已被TCPflow捕獲。

  1. $ sudo tcpflow -c 

可以捕獲某個端口上的所有流量,比如端口80(HTTP)。以HTTP流量為例,你可以看到HTTP Headers以及隨后的內(nèi)容都在stdout上;如果去除-c參數(shù)選項符,它們都在一個文件中。

  1. $ sudo tcpflow port 80 

想捕獲來自某個網(wǎng)絡(luò)接口的數(shù)據(jù)包,使用-i標志來指定接口名稱。

  1. $ sudo tcpflow -i eth0 port 80 

還可以指定目標主機(接受的值是IP地址、主機名或域名),如下所示:

  1. $ sudo tcpflow -c host 192.68.43.1 

OR

  1. $ sudo tcpflow -c host www.google.com 

你可以使用-a標志,啟用使用所有瀏覽器的所有處理,這相當于-e all參數(shù)選項符。

  1. $ sudo tcpflow -a 

OR

  1. $ sudo tcpflow -e all 

還可以激活特定的掃描器;可用的掃描器包括md5、http、netviz、tcpdemux和wifiviz(運行tcpflow –H,即可查看關(guān)于每個掃描器的詳細信息)。

  1. $ sudo tcpflow -e http 

OR

  1. $ sudo tcpflow -e md5 

OR

  1. $ sudo tcpflow -e netviz 

OR

  1. $ sudo tcpflow -e tcpdemux 

OR

  1. $ sudo tcpflow -e wifiviz 

下面這個例子顯示了如何啟用除tcpdemux之外的所有掃描器。

  1. $ sudo tcpflow -a -x tcpdemux 

TCPflow通常在捕獲數(shù)據(jù)包之前試圖讓網(wǎng)絡(luò)接口處于混雜模式??梢允褂?p標志來阻止這種模式,如下所示:

  1. $ sudo tcpflow -p -i eth0 

想讀取來自tcpdump pcap文件的數(shù)據(jù)包,使用-r標志。

  1. $ sudo tcpflow -f file.pcap 

可以使用-v或-d 10選項啟用詳細模式。

  1. $ sudo tcpflow -v 

OR

  1. $ sudo tcpflow -d 10 

重要提醒:TCPflow的一個局限性是,目前它不了解IP片段,因而可能無法正確捕獲作為TCP連接的一部分而傳輸?shù)暮蠭P片段的數(shù)據(jù)。

想了解更多信息和用法選項,請參閱TCPflow參考手冊頁。

  1. $ man tcpflow 

TCPflow Github代碼倉庫:https://github.com/simsong/tcpflow

就是這樣!TCPflow是一款功能強大的TCP流量記錄器,適用于了解網(wǎng)絡(luò)數(shù)據(jù)包流量、執(zhí)行網(wǎng)絡(luò)取證分析等等。試用一下,歡迎交流心得。

原文標題:TCPflow – Analyze and Debug Network Traffic in Linux,作者:Aaron Kili

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
99re热这里有精品首页视频| 久久国产精品波多野结衣AV| 亚洲精品日韩一区二区小说| 亚洲精品国产情侣av在线| 国产精品igao视频网网址| 91老司机深夜福利精品视频在线观看| 亚洲А∨精品天堂在线| 精品人妻一区二区三区四区| 日韩精品无码一区二区中文字幕 | 国产国产精品人在线视 | 精品亚洲国产成人av| 国内精品乱码卡1卡2卡3免费 | 国产一区二区精品久久岳√| 麻豆国产精品一二三在线观看| 亚洲日韩国产AV无码无码精品| …久久精品99久久香蕉国产| 精品国产yw在线观看| 精品人妻系列无码一区二区三区| 精品无人码麻豆乱码1区2区| 无码精品一区二区三区在线| 久久国产精品久久精| 久久99热精品免费观看动漫| 久久这里只有精品66| 青青青国产依人精品视频| 国自产偷精品不卡在线| 伊人久久综合精品无码AV专区| 国内精品久久久久久久久电影网 | 91精品久久久久久久99蜜桃| 亚洲欧洲精品在线| 国产大片91精品免费观看不卡| 国产精品天天影视久久综合网| 琪琪精品视频在线观看| 国产成人精品午夜福利在线播放| 亚洲精品蜜夜内射| 成人国产精品秘片多多| 热99re久久免费视精品频软件| 国产精品免费一级在线观看| 无码国产亚洲日韩国精品视频一区二区三区 | 99在线精品免费视频九九视| 亚洲首页国产精品丝袜| 久久水蜜桃亚洲AV无码精品|