1. tcpdump用法 如果要在乙個機器上監聽乙個程序給另外乙個程序傳送的請求,用tcpdump -i lo,監聽lookbach. 它預設監聽第一塊網絡卡上,監聽所有經過此網絡卡的資料報
tcp -i eth0,監聽指定網絡卡的資料報
一:命令介紹:
tcpdump,用簡單的語言概括就是dump the traffic on a network,是乙個執行在linux平台可以根據使用者需求對網路上傳輸的資料報進行捕獲的抓包工具,windows平台有sniffer等工具,tcpdump可以將網路中傳輸的資料報的「包頭」全部捕獲過來程序分析,其支援網路層、特定的傳輸協議、資料傳送和接收的主機、網絡卡和埠的過濾,並提供and、or、not等語句進行邏輯組合捕獲資料報或去掉不用的資訊。
1:命令選項和捕獲主機對到主機的資料報:
1.1:命令選項:
-a #將網路位址和廣播位址轉變成名字
-a #以ascii格式列印出所有分組,並將鏈路層的頭最小化
-b #資料鏈路層上選擇協議,包括ip/arp/rarp/ipx都在這一層
-c #指定收取資料報的次數,即在收到指定數量的資料報後退出tcpdump
-d #將匹配資訊包的**以人們能夠理解的彙編格式輸出
-dd #將匹配資訊包的**以c語言程式段的格式輸出
-ddd #將匹配資訊包的**以十進位制的形式輸出
-d #列印系統中所有可以監控的網路介面
-e #在輸出行列印出資料鏈路層的頭部資訊
-f #將外部的internet位址以數字的形式列印出來,即不顯示主機名
-f #從指定的檔案中讀取表示式,忽略其他的表示式
-i #指定監聽網路介面
-l #使標準輸出變為緩衝形式,可以資料匯出到檔案
-l #列出網路介面已知的資料鏈路
-n #不把網路位址轉換為名字
-n 不輸出主機名中的網域名稱部分,例如www.baidu.com只輸出www
-nn #不進行埠名稱的轉換
-p #不將網路介面設定為混雜模式
-q #快速輸出,即只輸出較少的協議資訊
-r #從指定的檔案中讀取資料,一般是-w儲存的檔案
-w #將捕獲到的資訊儲存到檔案中,且不分析和列印在螢幕
-s #從每個組中讀取在開始的snaplen個位元組,而不是預設的68個位元組
-s #將tcp的序列號以絕對值形式輸出,而不是相對值
-t #將監聽到的包直接解析為指定的型別的報文,常見的型別有rpc(遠端過程呼叫)和snmp(簡單網路管理協議)
-t #在輸出的每一行不列印時間戳
-tt #在每一行中輸出非格式化的時間戳
-ttt #輸出本行和前面以後之間的時間差
-tttt #在每一行中輸出data處理的預設格式的時間戳
-u #輸出未解碼的nfs控制代碼
-v #輸出稍微詳細的資訊,例如在ip包中可以包括ttl和服務型別的資訊
-vv#輸出相信的保報文資訊
1.1.1:#tcpdump的表示式:
表示式是乙個正規表示式,tcpdump利用它作為過濾報文的條件,如果乙個報文滿足表示式的條件,則這個報文將會**獲。如果沒有給出任何條件,則網路上所有的資訊包 將會被截獲,在表示式中一般如下幾種型別的關鍵字:
a):關於資料型別的關鍵字:
包括host、port、net,例如host 192.168.1.1表示這是一台主機,net 192.168.0.0表示這是乙個網路位址,port 22指明埠號是22,如果沒有指明型別,則預設的型別是host。
b):資料傳輸方向的關鍵字:
包括src、dst、dst or src、dst and src,這些關鍵字指明了傳輸的方向,比如src 192.168.1.1說明資料報源位址是192.168.1.1,dst net 192.168.0.0指明目的網路位址是192.168.0.0,預設是監控主機對主機的src和dst,即預設監聽本機和目標主機的所有資料。
c):協議關鍵字:
包括ip、arp、rarp、tcp、udp等,
d):其他關鍵字:
運算型別的:or、and、not、!
輔助功能型的:gateway、less、broadcast、greater
1.2:# tcpdump 預設捕獲方式
#預設監聽在第一塊網絡卡上,監聽所有經過此網**過的資料報
1.3:# tcpdump -i eth0 監聽指定網絡卡eth0的所有傳輸資料報:
1.4:#tcpdump -i eth0 host 192.168.56.1 #捕獲主機192.168.56.1經過本機網絡卡eth0的所有資料報(也可以是主機名,但要求可以解析出來ip位址)
1.5:#tcpdump host 192.168.56.209 and \( 192.168.56.210 or 192.168.56.211 \) #捕獲主機 192.168.56.209 和主機192.168.56.210或192.168.56.211的所有通訊資料報
1.6:#tcpdump ip host node9 and not www.baidu.com #捕獲主機node9與其他主機之間(不包括www.baidu.com)通訊的ip資料報
1.7:#tcpdump ip host node9 and ! www.baidu.com #捕獲node9與其他所有主機的通訊資料報(不包括www.baidu.com)
1.8:#tcpdump -i eth0 src node10 #捕獲源主機node10傳送的所有的經過eth0網絡卡的所有資料報
1.9:##tcpdump -i eth0 dst host www.baidu.com #捕獲所有傳送到主機www.baidu.com的資料報
1.9.1:監聽主機192.168.56.1和192.168.56.210之間ip協議的80埠的且排除www.baidu.com通訊的所有資料報:
# tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host ! www.baidu.com #也可以寫成tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com,即not和!都是相同的取反的意思
1.9.2:捕獲arp的協議資料報:
#tcpdump arp #監控指定主機的通訊資料報與1.9.1方式相同
2:捕獲指定主機和埠的資料報:
2.1:#tcpdump tcp port 22 and host 192.168.56.210 #捕獲主機192.168.56.210接收和發出的tcp協議的ssh的資料報:
2.2:# tcpdump udp port 53 #監聽本機udp的53埠的資料報,udp是dns協議的埠,這也是乙個dns網域名稱解析的完整過程
總結:tcpdump的語法類似於mysql查詢語句,可以指定各種查詢的條件進行組合,還可以進行與或非的條件判斷進行更精確的資料蒐集,語法如下:
#tcpdump [協議型別] [源或目標] [主機名稱或ip] [or/and/not/!條件組合] [源或目標] [主機名或ip] [or/and/not/!條件組合] [埠] [埠號] …… [or/and/not/!條件組合] [條件]
tcpdump host 192.168.75.189 監聽從189來的所有流經本機器的資料報.
計算機網路9 計算機網路效能
1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位時間 ...
計算機網路 計算機網路的效能
目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...
計算機網路學習 計算機網路效能
出自 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...