1. 程式人生 > 其它 >.conf配置檔案那點事兒

.conf配置檔案那點事兒

簡介

tcpdump,是一個執行在linux平臺可以根據使用者需求對網路上傳輸的資料包進行捕獲的抓包工具,tcpdump可以將網路中傳輸的資料包的“包頭”全部捕獲過來進行分析,其支援網路層、特定的傳輸協議、資料傳送和接收的主機、網絡卡和埠的過濾,並提供andornot等語句進行邏輯組合捕獲資料包或去掉不用的資訊。

命令選項

-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#輸出相信的保報文資訊
tcpdump的表示式
表示式是一個正則表示式,tcpdump利用它作為過濾報文的條件,如果一個報文滿足表示式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網路上所有的資訊包 將會被截獲。

a):關於資料型別的關鍵字:

包括host、port、net,例如host 192.168.1.1表示這是一臺主機,net 192.168.0.0表示這是一個網路地址,port 22指明埠號是22,如果沒有指明型別,則預設的型別是host。

b):資料傳輸方向的關鍵字:

包括src、dstdst 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
命令使用例項
#tcpdump -n -i eth0 host 192.168.29.162 //抓取所有經過 eth0,目的或源地址是 192.168.29.162 的網路資料。
#tcpdump -n -i eth0 src or dst host 192.168.29.162//和上面的功能相同,寫法不同

#tcpdump -i eth1 src host 192.168.29.16 //抓取所有經過eth1,源地址192.168.29.16的資料。

#tcpdump -n -i eth1 dst host 192.168.29.162//抓取經過eth1,目的地址為192.168.29.162的資料。

#tcpdump -i eth1 net 10.10.10 -n //抓取eth1網絡卡上所有屬於10.10.10網段的資料

#tcpdump -n -i eth0 port 8080//抓取eth0網絡卡上埠為8080的網路資料

#tcpdump -i bond0 icmp -n //抓取經過bond0網絡卡的所有icmp協議的資料(可以檢視有哪些主機在ping本機器)

#tcmdump -i bond0 udp port 53 -n //抓取bond0網絡卡上的埠號為53udp協議的所有資料

#tcpdump -i eth1 host 10.10.10.1 -c 10 //抓取eth1網絡卡上關於10.10.10.1主機的10個數據包

參考資料

https://www.cnblogs.com/howhy/p/6396664.html

https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

https://www.cnblogs.com/chenpingzhao/p/9108570.html

https://www.linuxprobe.com/linux-tcpdump.html