欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(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號