Protocol(協議):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果沒有特別指明是什麼協議,則預設使用所有支援的協議。
Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果沒有特別指明來源或目的地,則預設使用 “src or dst” 作為關鍵字。
例如,”host 10.2.2.2″與”src or dst host 10.2.2.2″是一樣的。
Host(s):
可能的值: net, port, host, portrange.
如果沒有指定此值,則預設使用”host”關鍵字。
例如,”src 10.1.1.1″與”src host 10.1.1.1″相同。
Logical Operations(邏輯運算):
可能的值:not, and, or.
否(“not”)具有最高的優先順序。或(“or”)和與(“and”)具有相同的優先順序,運算時從左至右進行。
例如,
“not tcp port 3128 and tcp port 23″與”(not tcp port 3128) and tcp port 23″相同。
“not tcp port 3128 and tcp port 23″與”not (tcp port 3128 and tcp port 23)”不同。
- host 192.168.1.1 //抓取192.168.1.1 收到和發出的封包
- src host 192.168.1.1 //抓取來源地址192.168.1.1發出的封包
- dst host 192.168.1.1 //揝取目標地址192.168.1.1收到的封包
- src host hostname //根據主機名過濾
- ether host 80:05:09:03:E4:35 //根據MAC地址過濾
- net 192.168.1 //過濾網段
- src net 192.168 //過濾來源網段
- dst net 192 //過濾目標網段
- 抓取所有目的地址是192.168.1.2 或192.168.1.3 埠是80 的TCP 資料
(tcp port 80) and ((dst host 192.168.1.2) or (dst host 192.168.1.3)) - 抓取所有目標MAC 地址是80:05:09:03:E4:35 的ICMP 資料
(icmp) and ((ether dst host 80:05:09:03:E4:35)) - 抓取所有目的網路是192.168,但目的主機不是192.168.1.2 的TCP 資料
(tcp) and ((dst net 192.168) and (not dst host 192.168.1.2)) - 捕獲主機192.168.1.1 和主機192.168.1.2 或192.168.1.3的通訊
host 192.168.1.1 and (192.168.1.2 or 192.168.1.3 ) - 獲取主機192.168.1.1除了和主機192.168.1.2之外所有主機通訊的封包
host 192.168.1.1 and ! 192.168.1.2 - 獲取主機192.168.1.1接收或發出的telnet包,telnet使用tcp 23埠
tcp port 23 and host 192.168.1.1
二、顯示過濾:完整的復現網路環境再加以過濾,較佔用記憶體
- 表達式
- 數據鏈路層:
- 篩選mac地址為04:f9:38:ad:13:26的數據包:eth.addr == 04:f9:38:ad :13:26
- 篩選源mac地址為04:f9:38:ad:13:26的數據包:eth.src == 04:f9:38:ad:13:26
- 抓取所有目標MAC 地址是80:05:09:03:E4:35 的ICMP 資料
- icmp && eth.dst==80:05:09:03:E4:35
- 網絡層:
- 篩選ip地址為192.168.1.1的數據包:ip.addr == 192.168.1.1
- 篩選192.168.1.0網段的數據:ip contains "192.168.1"
- 篩選192.168.1.1和192.168.1.2之間的數據包:ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2
- 篩選從192.168.1.1到192.168.1.2的數據包:ip.src == 192.168.1.1 && ip.dst = = 192.168.1.2
- ip.addr ==192.168.1.1 //顯示所有與192.168.1.1相關的封包
- ip.dst==192.168.1.1 //顯示目標是192.168.1.1的封包
- ip.src ==192.168.1.1 //顯示來源是192.168.1.1的封包
- ip.src==192.168.0.0/16 //網路過濾,過濾一個網段
- 傳輸層:
- 篩選tcp協議的數據包:tcp
- 篩選除tcp協議以外的數據包:!tcp
- 篩選端口為80的數據包:tcp.port == 80
- 篩選12345端口和80端口之間的數據包:tcp.port == 12345 && tcp.port == 80
- 篩選從12345端口到80端口的數據包:tcp.srcport == 12345 && tcp. dstport == 80
- 抓取所有目的地址是192.168.1.2 或192.168.1.3 埠是80 的TCP 資料
tcp.port==80 && (ip.dst==192.168.1.2 || ip.dst==192.168.1.3) - 應用層:
- http中http.request表示請求頭中的第一行(如GET index.jsp HTTP/1.1)
- http.response表示響應頭中的第一行(如HTTP/1.1 200 OK),其他頭部都用http.header_name形式。
- 篩選url中包含.php的http數據包:http.request.uri contains ".php"
- 篩選內容包含username的http數據包:http contains "username"
- http.request.method == POST
- http.request.method == GET
- http.response.code == 200
- 抓取所有目的網路是192.168,但目的主機不是192.168.1.2 的TCP 資料
tcp&&ip.dst==192.168.0.0/16&&!(ip.dst==192.168.1.2) - 捕獲主機192.168.1.1 和主機192.168.1.2 或192.168.1.3的通訊
ip.addr==192.168.1.1&&(ip.addr==192.168.1.2||ip.addr==192.168.1.3) - 獲取主機192.168.1.1除了和主機192.168.1.2之外所有主機通訊的封包
ip.addr==192.168.1.1&&!ip.addr==192.168.1.2 - 獲取主機192.168.1.1接收或發出的telnet包,telnet使用tcp 23埠
tcp.port==23&&ip.addr==192.168.1.1 - 過濾特定Protocol,可直接輸入協定名稱,例如http、https、ssl及ssh等。
- http.request //顯示GET(單純請求下載) or POST上傳資料
- http and not http.request //顯示網頁資料內容
- packet lost的查看
- tcp.analysis.flags tcp.flags.syn == 1
- tcp包的syn字段為1
- tco.flags.reset == 1