linux下抓包

linux下抓包用如下命令:tcpdump -w /tmp/rad1.cap -s 0 udp port 1812



其中各種條件的使用可以參考wireshark的使用或下面的“表達式”。如上例中可以改爲:

tcpdump -w /tmp/rad1.cap -s 0 udp port 1812 or 1813

tcpdump -w /tmp/rad3.cap -s 0 udp port \( 1812 or 1813 \) and src or dst 125.70.249.150


--抓ping包

tcpdump -i en1 icmp


--i表示按網卡設備名抓包

tcpdump -i bond0(或eth0) udp port 8528  


--抓某個主機

tcpdump -i en1 host 61.139.81.6



注意and的優先級比or高  需要使用括號(園括弧在Shell中有專用,所以必須用反斜槓(\)轉義,在C-shell中應該是\\)


 1、成電堅持說他們收不到***屬性(對應RAD_DETAIL中的account_info字段),所以默認爲default,ERX工程師也確認了此事。

2、在23.192上進行抓包:tcpdump -w /tmp/rad1.cap -s 0 udp port 1812,然後成電人員進行撥號,撥號還是失敗,停止抓包。

3、用wireshark打開rad1.cap,使用過濾條件:ip.dst==218.88.96.1 or ip.src==218.88.96.1,發現Radius的確沒有下發屬性:ERX-Virtual-Router-Name: ***-scczysw

4、對bims中node_table檢查,發現218.88.96.1對應的設備類型居然是cisco,應當爲unisphere,故導致發生錯誤,原因是資源管理系統送錯了,批量修改後重啓Radius即恢復正常。



過濾條件舉例

1、查找Radius報文的loginname:radius.User_Name == "332211" (過濾嚮導可以通過Filter旁邊的Expression按鈕選擇Radius報文的相關屬性)


解析可以使用wireshark



表達式

tcpdump利用它作爲過濾報文的條件,如果一個報文滿足表

達式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,

則網絡上所有的信息包將會被截獲。


1. 類型關鍵字


  host: 指定主機

  net: 指定網絡地址

  port: 指定端口號

  默認類型爲host


2. 方向關鍵字


  src: 指定源  

  dst: 指定目的

  src or dst

  src and dst

  默認爲src or dst


3. 協議關鍵字


  包括fddi,ip ,arp,rarp,tcp,udp等類型


4. 邏輯運算


  取非運算是 'not ' '!'

  與運算是'and','&&'

  或運算 是'or' ,'||';  



示例

1. 截獲所有135.252.142.150 的主機收到的和發出的所有的數據包

  tcpdump host 135.252.142.150 -i eth0


2. 獲取主機135.252.33.186除了和主機135.252.142.150之外所有

  主機通信的ip包,使用命令

  tcpdump ip host 210.27.48.1 and ! 210.27.48.2


3. 獲取主機135.252.33.186接收或發出的telnet包

  tcpdump tcp port 23 host 135.252.142.150


4. 獲取主機135.252.142.121端口5060上的所有數據報

  tcpdump port 5060 and host 135.252.142.121


5. 獲取主機135.252.142.150所有udp數據報

  tcpdump udp and host 135.252.142.150

  or:

  tcpdump ip proto \\udp and host 135.252.142.150


6. 獲取主機和135.252.142.150的源端口爲5060, 目的端口爲

  45413的數據報

  tcpdump src port 5060 and dst port 45413 and host 135.252.142.150


7. 打印所有包含數據的數據報, 就是說除了SYN, ACk和Fin的數據報

  tcpdump 'tcp port 80 and

  (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'


8. 打印所有經過網關135.252.33.1長度大於576的數據報

  tcpdump 'gateway snup and ip[2:2] > 576'


  ip[2:2]: 從第二個byte開始的兩個byte.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章