在進行網路測試 的時候,我們經常需要進行抓包的工作,當然有許多測試 工具可以使用,比如sniffer, ethreal等.但最為方便和簡單得就非tcpdump莫屬. linux的發行版裡基本都包括了這個工具. tcpdump將網路介面設定成混雜模式以便捕獲到達的每乙個資料報.下面給出tcpdump的部分常用選項:
-i 指定監聽的網路介面
-v 指定詳細模式輸出詳細的報文資訊
-vv 指定更詳細模式輸出更詳細的報文資訊
-x 指定以16進製制數格式顯示資料報
-x 規定以ascii碼格式顯示輸出
-n 規定在捕獲過程中不需向dns查詢ip位址
-f 從指定檔案中讀取表示式
-d 顯示可用網路介面
-s 設定捕獲資料報的長度
tcpdump的表示式:
預設情況下tcpdump將捕獲所有到達網路的資料報.這並不是我們想要的,因此就必須通過表示式來限制不必要的流量,只輸出我們需要監聽的資料報.
1. 型別限定詞
型別限定詞有: host, port和net. host用來指定主機或目的位址,port指定埠,net可以用來指定某一子網. 如:
tcpdump 'port 80' 監聽80埠
tcpdump 'net 192.168.1' 監聽子網192.168.1.0
tcpdump 'net 192.168.1.0/24'
2. 邏輯運算子
邏輯運算子有and,or和not. ()可將多個表示式組合起來.
tcpdump 'port 80 and (host 192.168.1.10 or host 192.168.1.11)'
監聽主機192.168.1.10 或 192.168.1.11的80埠.
3. 傳輸方向限定詞
tcpdump 'port 80 and (src 192.168.1.10 or src 192.168.1.11)'
tcpdump 'dst port 25'
4. 協議 限定詞
用來捕獲特定協議 的資料報有: ether(ethernet), tcp,udp,icmp,ip,ip6(ipv6),arp,rarp(reverse arp)等.
5. 原語
原語主要有: 算術運算子(+,-,*,/,>,<,>=,<=,!=等), broadcast, gateway, greater, less.
broadcast捕獲廣播資料報, greater和less相當於》=和<=.
要抓本機程式發的包,應該是監聽lo0.
例項: tcpdump -nn -i lo 'port 9001'
TCPdump抓包命令
tcpdump抓包命令 tcpdump是乙個用於擷取網路分組,並輸出分組內容的工具。tcpdump憑藉強大的功能和靈活的擷取策略,使其成為類unix系統下用於網路分析和問題排查的首選工具。選項介紹 a 以ascii格式列印出所有分組,並將鏈路層的頭最小化。c 在收到指定的數量的分組後,tcpdump...
tcpdump抓包方法
抓包儲存到檔案,抓下來的檔案可以直接用ethereal或者wireshark開啟。w pcap 抓eth1的包 tcpdump i eth1 w tmp pcap 抓192.168.1.123的包 tcpdump i eth1 host 192.168.1.123 w tmp pcap 抓192.1...
tcpdump抓包例項
ip過濾 tcpdump i eth1 host 192.168.1.1 tcpdump i eth1 src host 192.168.1.1 tcpdump i eth1 dst host 192.168.1.1 埠過濾 tcpdump i eth1 port 25 tcpdump i eth1...