站長資訊網
        最全最豐富的資訊網站

        TCPflow:在Linux中分析和調試網絡流量的利器

        TCPflow:在Linux中分析和調試網絡流量的利器

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

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

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

        TCPflow有許多使用場景,包括了解網絡數據包流量,還支持執行網絡取證分析和泄露HTTP會話的內容。

        如何在Linux系統中安裝TCPflow?

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

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

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

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

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

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

        現在不妨列出目錄,看看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)傳輸到主機216.058.210.034(遠程主機,通過端口443)的數據。

        而第二個文件216.058.210.034.00443-192.168.043.031.52920含有從主機216.058.210.034(遠程主機,通過端口443)傳輸到主機192.168.043.031(TCPflow運行所在的localhost,通過端口52920)的數據。

        還生成了一個XML報告,含有關于該程序的信息,比如它是如何編譯的、它在哪臺計算機上運行以及每條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  

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

        想有效地進行測試,打開第二個端口,運行ping,或瀏覽互聯網。你應該能夠看到ping細節或瀏覽細節已被TCPflow捕獲。

        1. $ sudo tcpflow -c 

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

        1. $ sudo tcpflow port 80 

        想捕獲來自某個網絡接口的數據包,使用-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參數選項符。

        1. $ sudo tcpflow -a 

        OR

        1. $ sudo tcpflow -e all 

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

        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通常在捕獲數據包之前試圖讓網絡接口處于混雜模式。可以使用-p標志來阻止這種模式,如下所示:

        1. $ sudo tcpflow -p -i eth0 

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

        1. $ sudo tcpflow -f file.pcap 

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

        1. $ sudo tcpflow -v 

        OR

        1. $ sudo tcpflow -d 10 

        重要提醒:TCPflow的一個局限性是,目前它不了解IP片段,因而可能無法正確捕獲作為TCP連接的一部分而傳輸的含有IP片段的數據。

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

        1. $ man tcpflow 

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

        就是這樣!TCPflow是一款功能強大的TCP流量記錄器,適用于了解網絡數據包流量、執行網絡取證分析等等。試用一下,歡迎交流心得。

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

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久99国产综合精品| 在线人成精品免费视频| 久久99精品国产一区二区三区| 久久久99精品一区二区| 青青青国产精品国产精品久久久久| 日韩精品无码AV成人观看| 久久久久亚洲精品中文字幕| 欧美精品一本久久男人的天堂 | 最新国产精品亚洲| 精品人妻码一区二区三区| 亚洲精品NV久久久久久久久久| 国产精品毛片一区二区| 国产乱码精品一区二区三区四川人| 色妞ww精品视频7777| 亚洲?V乱码久久精品蜜桃| 国产欧美日本亚洲精品一5| 青青青青久久精品国产| 国产原创精品视频| 国产成人精品日本亚洲| 青草国产精品久久久久久| 亚洲精品中文字幕无码蜜桃| 亚洲国产精品一区二区九九| 精品一久久香蕉国产线看播放 | 精品国产一区二区22| 成人国产精品一区二区视频| 狠狠色丁香婷婷综合精品视频| 国产AV无码专区亚洲精品| 亚洲国产精品18久久久久久| 一区二区日韩国产精品| 亚洲精品专区| 日韩精品一区二区三区在线观看 | 精品久久久噜噜噜久久久| 婷婷国产成人精品视频| 午夜DY888国产精品影院| 无码日韩精品一区二区三区免费| 午夜不卡久久精品无码免费| 久久精品一本到99热免费| 国产亚洲精品a在线无码| 99国产精品国产精品九九| 99精品国产一区二区三区| 99精品久久精品|