導航:首頁 > 凈水問答 > tcpdump如何過濾tcp

tcpdump如何過濾tcp

發布時間:2022-06-05 14:34:31

『壹』 如何使用tcpmp來捕獲TCP SYN,ACK和FIN包

作為業界標準的捕獲工具,tcpmp提供了強大而又靈活的包過濾功能。作為tcpmp基礎的libpcap包捕獲引擎支持標準的包過濾規則,如基於5重包頭的過濾(如基於源/目的IP地址/埠和IP協議類型)。Linux網路十分有用的兩個命令ip和TcpDump/Linux/2014-02/96993.htmtcpmp/libpcap的包過濾規則也支持通用分組表達式,在這些表達式中,包中的任意位元組范圍都可以使用關系或二進制操作符進行檢查。對於位元組范圍表達,你可以使用以下格式:proto[expr:size]「proto」可以是熟知的協議之一(如ip,arp,tcp,udp,icmp,ipv6),「expr」表示與指定的協議頭開頭相關的位元組偏移量。有我們熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。「size」是可選的,表示從位元組偏移量開始檢查的位元組數量。使用這種格式,你可以像下面這樣過濾TCPSYN,ACK或FIN包。只捕獲TCPSYN包:#tcpmp-i"tcp[tcpflags]&(tcp-syn)!=0"只捕獲TCPACK包:#tcpmp-i"tcp[tcpflags]&(tcp-ack)!=0"只捕獲TCPFIN包:#tcpmp-i"tcp[tcpflags]&(tcp-fin)!=0"之捕獲TCPSYN或ACK包:#tcpmp-r"tcp[tcpflags]&(tcp-syn|tcp-ack)!=0"

『貳』 tcpmp怎麼過濾mac地址

可以指定IP,篩選條抄件可以給你參考下: tcpmp : -i: 後跟網卡名; host:後跟主機IP; -a —— 將網路地址和廣播地址轉變成名字; -c —— 指定抓取的數據包數量; -n:不把主機IP轉為主機名; -r:指定從某個文件中讀取數據包; -e:指定將監聽...

『叄』 tcpmp可以過濾報文長度嗎即:只抓取報文長度為512位元組的報文

報頭中有兩個表示長度的域 ,一個為報頭長度,一個為總長度。報頭長度 以32bit為單位,指出該報頭的長度。在沒有專 選項和填充的情況下,該值為「5」。總長度以屬8 bit為單位,指示整個IP數據報的長度,其中包 括頭部長度和數據區長度。
(160+512)÷8=84

『肆』 tcpmp 協議過濾哪些協議

tcpmp 協議過濾
作為業界標準的捕獲工具,tcpmp提供了強大而又靈活的包過濾功回能。作為tcpmp基礎答的libpcap包捕獲引擎支持標準的包過濾規則,如基於5重包頭的過濾(如基於源/目的IP地址/埠和IP協議類型)。

tcpmp/libpcap的包過濾規則也支持更多通用分組表達式,在這些表達式中,包中的任意位元組范圍都可以使用關系或二進制操作符進行檢查。對於位元組范圍表達,你可以使用以下格式:
proto [ expr : size ]

「proto」可以是熟知的協議之一(如ip,arp,tcp,udp,icmp,ipv6),「expr」表示與指定的協議頭開頭相關的位元組偏移量。有我們熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。「size」是可選的,表示從位元組偏移量開始檢查的位元組數量。
使用這種格式,你可以像下面這樣過濾TCP SYN,ACK或FIN包。

『伍』 如何讀懂tcpmp的輸出

tcpmp 是 Linux 下的抓包工具,使用參數比較多,輸出條目比較細。
tcpmp的命令行格式
tcpmp [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]
[ -i 網路介面 ] [ -r 文件名] [ -s snaplen ]
[ -T 類型 ] [ -w 文件名 ] [表達式 ]

tcpmp的參數選項
-A:以ASCII編碼列印每個報文(不包括鏈路層的頭),這對分析網頁來說很方便;
-a:將網路地址和廣播地址轉變成名字;
-c<數據包數目>:在收到指定的包的數目後,tcpmp就會停止;
-C:用於判斷用 -w 選項將報文寫入的文件的大小是否超過這個值,如果超過了就新建文件(文件名後綴是1、2、3依次增加);
-d:將匹配信息包的代碼以人們能夠理解的匯編格式給出;
-dd:將匹配信息包的代碼以c語言程序段的格式給出;
-ddd:將匹配信息包的代碼以十進制的形式給出;
-D:列出當前主機的所有網卡編號和名稱,可以用於選項 -i;
-e:在輸出行列印出數據鏈路層的頭部信息;
-f:將外部的Internet地址以數字的形式列印出來;
-F<表達文件>:從指定的文件中讀取表達式,忽略其它的表達式;
-i<網路界面>:監聽主機的該網卡上的數據流,如果沒有指定,就會使用最小網卡編號的網卡(在選項-D可知道,但是不包括環路介面),linux 2.2 內核及之後的版本支持 any 網卡,用於指代任意網卡;
-l:如果沒有使用 -w 選項,就可以將報文列印到 標准輸出終端(此時這是默認);
-n:顯示ip,而不是主機名;
-N:不列出域名;
-O:不將數據包編碼最佳化;
-p:不讓網路界面進入混雜模式;
-q:快速輸出,僅列出少數的傳輸協議信息;
-r<數據包文件>:從指定的文件中讀取包(這些包一般通過-w選項產生);
-s<數據包大小>:指定抓包顯示一行的寬度,-s0表示可按包長顯示完整的包,經常和-A一起用,默認截取長度為60個位元組,但一般ethernetMTU都是1500位元組。所以,要抓取大於60位元組的包時,使用默認參數就會導致包數據丟失;
-S:用絕對而非相對數值列出TCP關聯數;
-t:在輸出的每一行不列印時間戳;
-tt:在輸出的每一行顯示未經格式化的時間戳記;
-T<數據包類型>:將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網路管理協議);
-v:輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
-vv:輸出詳細的報文信息;
-x/-xx/-X/-XX:以十六進制顯示包內容,幾個選項只有細微的差別,詳見man手冊;
-w<數據包文件>:直接將包寫入文件中,並不分析和列印出來;
expression:用於篩選的邏輯表達式;

tcpmp的表達式
表達式是一個邏輯表達式,tcpmp利用它作為過濾報文的條件,如果一個報文滿足表達式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網路上所有的信息包將會被截獲。
在表達式中一般如下幾種類型的關鍵字:
關於類型的關鍵字,主要包括host,net,port
例如,
host 210.27.48.2,指明 210.27.48.2是一台主機,net 202.0.0.0 指明202.0.0.0是一個網路地址,port 23 指明埠號是23。
如果沒有指定類型,預設的類型是host.
關於傳輸方向的關鍵字:src,dst,dst or src,dst and src
例如,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的網路地址是202.0.0.0 。如果沒有指明方向關鍵字,則預設是src or dst關鍵字。
關於協議的關鍵字:fddi,ip,arp,rarp,tcp,udp
Fddi指明是在FDDI(分布式光纖數據介面網路)上的特定的網路協議,實際上它是"ether"的別名,fddi和e ther具有類似的源地址和目的地址,所以可以將fddi協議包當作ether的包進行處理和分析。
其他的幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpmp將會監聽所有協議的信息包。
邏輯運算符關鍵字
非運算 'not ' '! '
與運算 'and','&&'
或運算 'or' ,'||'
這些關鍵字可以組合起來構成強大的組合條件來滿足人們的需要,下面舉幾個例子來說明。
其他重要關鍵字
除了這三種類型的關鍵字之外,其他重要的關鍵字如下:gateway, broadcast,less,greater。
案例
想要截獲所有210.27.48.1 的主機收到的和發出的所有的數據包:
tcpmp host 210.27.48.1
想要截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信,使用命令
tcpmp host 210.27.48.1 and \(210.27.48.2 or 210.27.48.3\)
如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:
tcpmp ip host 210.27.48.1 and ! 210.27.48.2
如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令:
tcpmp tcp port 23 host 210.27.48.1
輸出結果介紹
下面我們介紹幾種典型的tcpmp命令的輸出信息
數據鏈路層頭信息
使用命令tcpmp --e host ice
ice 是一台裝有linux的主機,她的MAC地址是0:90:27:58:af:1a
H219是一台裝有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5b:46
命令的輸出結果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.telnet 0:0(0) ack 22535 win 8760 (DF)
分析:
21:50:12 是顯示的時間
847509 是ID號
eth0 < 表示從網路介面eth0 接受該數據包
eth0 > 表示從網路介面設備發送數據包
8:0:20:79:5b:46 是主機H219的MAC地址,它表明是從源地址H219發來的數據包
0:90:27:58:af:1a 是主機ICE的MAC地址,表示該數據包的目的地址是ICE
ip 是表明該數據包是IP數據包,
60 是數據包的長度,
h219.33357 > ice.telnet 表明該數據包是從主機H219的33357埠發往主機ICE的TELNET(23)埠
ack 22535 表明對序列號是222535的包進行響應
win 8760 表明發送窗口的大小是8760
ARP包的TCPDUMP輸出信息
使用命令#tcpmp arp
得到的輸出結果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
分析:
22:32:42 時間戳
802509 ID號
eth0 > 表明從主機發出該數據包
arp 表明是ARP請求包
who-has route tell ice 表明是主機ICE請求主機ROUTE的MAC地址
0:90:27:58:af:1a 是主機ICE的MAC地址。
TCP包的輸出信息
用TCPDUMP捕獲的TCP包的一般輸出信息是:
src > dst: flagsdata-seqnoackwindowurgentoptions

src > dst 表明從源地址到目的地址
flags 是TCP包中的標志信息,S 是SYN標志, F(FIN), P(PUSH) , R(RST) "."(沒有標記)
data-seqno 是數據包中的數據的順序號
ack 是下次期望的順序號
window 是接收緩存的窗口大小
urgent 表明數據包中是否有緊急指針
options 是選項
用TCPDUMP捕獲的UDP包的一般輸出信息是:
route.port1 > ice.port2: udplenth

UDP十分簡單,上面的輸出行表明從主機ROUTE的port1埠發出的一個UDP數據包到主機ICE的port2埠,類型是UDP, 包的長度是lenth
wireshark查看
要讓wireshark能分析tcpmp的包,關鍵的地方是 -s 參數, 還有要保存為-w文件,例如下面的例子:
./tcpmp -i eth0 -s 0 -w SuccessC2Server.pcaphost 192.168.1.20 # 抓該主機的所有包,在wireshark中過濾
./tcpmp -i eth0 'dst host 239.33.24.212' -w raw.pcap # 抓包的時候就進行過濾

wireshark的過濾,很簡單的,比如:
tcp.port eq 5541
ip.addr eq 192.168.2.1
過濾出來後, 用fllow tcp 查看包的內容。
其他
device eth0/eth1 entered promiscuous mode
message日誌中提示:
kernel: device eth0 entered promiscuous mode
kernel: device eth0 left promiscuous mode
網卡進入了混雜模式。一般對通信進行抓包分析時進入混雜模式(tcpmp)。(默認網卡啟用了混雜模式的)
關閉混雜模式:ifconfig eth0 -promisc
啟用混雜模式:ifconfig eth0 promisc
TCP協議的KeepAlive機制與HeartBeat心跳包:http://www.nowamagic.net/academy/detail/23350382
TCP Keepalive HOWTO:http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/

『陸』 如何用tcpmp命令截完整的數據包

tcpmp是一個用於截取網路分組,並輸出分組內容的工具。tcpmp憑借強大的功能和靈活的截取策略,使其成為類UNIX系統下用於網路分析和問題排查的首選工具。

『柒』 TCPDUMP 抓包 怎麼查看 抓的包的內容

1、tcpmp檢測登錄linux系統輸入tcpmp,如果找不到表示沒有安裝。也可以用rpm查詢。

閱讀全文

與tcpdump如何過濾tcp相關的資料

熱點內容
恆靜空氣凈化器怎麼樣 瀏覽:568
大連樹脂美牙 瀏覽:659
污水處理費怎麼算 瀏覽:371
過濾器目會影響壓力嗎 瀏覽:168
飲水機的上水管是多少 瀏覽:675
超濾機不能過濾什麼 瀏覽:991
乙烷蒸餾 瀏覽:321
up120前置過濾桶怎麼安裝 瀏覽:41
撫州如何處理污水 瀏覽:538
今麥郎軟化純凈水正常溫度是多少 瀏覽:872
中國是全球污水排放 瀏覽:920
進ro膜對ss有要求嗎 瀏覽:761
用實際監測怎樣算污水排污量 瀏覽:333
污水泵抽水怎麼做 瀏覽:796
半透膜筒料 瀏覽:735
污水運行法規 瀏覽:378
消失模鑄造用樹脂砂 瀏覽:618
鞏義污水處理費怎麼收取的 瀏覽:225
飲水機從上蓋溢水怎麼回事 瀏覽:76
濟南水景水處理設備 瀏覽:248