當前位置:首頁 » 幣種行情 » tcpdump抓eth0

tcpdump抓eth0

發布時間: 2024-04-15 06:35:33

Ⅰ tcpmp 正則過濾

tcpmp採用命令行方式,它的命令格式為:

tcpmp [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ][ -i 網路介面 ] [ -r 文件名] [ -s snaplen ] [ -T 類型 ] [ -w 文件名 ] [表達式 ]

功能選項說明:

-a 將網路地址和廣播地址轉變成名字

-d 將匹配數據包的內容以易理解的匯編格式輸出

-dd 將匹配數據包的內容以語言程序段的格式輸出

-ddd將匹配數據包的內容以十進制形式輸出

-e在輸出行列印出數據鏈路層的頭部信息

-f 將外部的internet以十進制數字形式列印輸出

-l使標准輸出變為緩沖行形式

-n不把地址(主機地址、埠)的數字形式轉換成名字

-t在輸出的每一行不列印時間戳

-vv輸出詳細的報文信息

-v輸出較詳細的信息

-c指定要接收的數據包的數量接收到的數量達到後就會停止接收

-F從指定的文件中讀取表達式忽略其他的表達式

-i指定要監聽的網路介面

-r從指定的文件中讀取數據包這些包是通過選項保存得到的

-w直接將數據包寫入指定的文件中不分析和列印輸出

-T將監聽到的包直接解釋為指定類型的報文,常用的類型有遠程過程調用和簡單網路管理協議

-s指定抓取數據的長度,採用了默認長度為68或96位元組,-s0則表示沒有長度的限制。如果沒有這個設置,通常會抓包會顯示Packet size limited ring capture,這樣數據包會被截斷,是不全的。

表達式是一個正則表達式,tcpmp利用它作為過濾報文的條件,如果一個報文滿足表達式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網路上所有的信息包將會被截獲。實際上,tcpmp的表達式主要包括三種類型的關鍵字

主要包括host,net,port,其中host用於表示網路上一台主機,net 用於表達式一個網路地址,port用於指定埠號,若表達式預設若沒有類型,默認類型為host。

如想要截獲所有192.168.90.16與本機的交互數據包,只需在本機上執行如下命令

[root@test24267 ~]# tcpmp host 192.168.90.16 |  more   

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

4 packets captured

5 packets received by filter

0 packets dropped by kernel

Linux系統中,tcpmp默認收集從系統介面列表中搜尋到的編號(eth*)最小的已配置好的介面上的發送接收數據包。若沒有找到,則會報錯:

tcpmp: NFLOG link-layer type filtering not implemented

主要包括src,dst,src or dst,src and dst,這些關鍵字指明了傳輸的方向,默認為src or dst。如

[root@test24267 ~]# tcpmp src 192.168.90.16   

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

10:36:14.221553 IP 192.168.90.16.50982 > localhost.ssh: . ack 1966953710 win 255

10:36:14.430570 IP 192.168.90.16.50982 > localhost.ssh: . ack 133 win 254

10:36:14.435741 IP 192.168.90.16.50982 > localhost.ssh: P 0:52(52) ack 249 win 254

10:36:14.644771 IP 192.168.90.16.50982 > localhost.ssh: . ack 381 win 253

10:36:14.863178 IP 192.168.90.16.50982 > localhost.ssh: . ack 497 win 253

可以看到只抓取了源為192.168.90.16的單向的數據包。

包括fddi,ip,arp,rarp,tcp,udp,imcp等,默認監聽所有協議的信息包。fddi是分布式光纖數據介面網路上所使用的網路協議。

除了這三種類型的關鍵字外,還有其他重要的關鍵字,如:gateway,broadcast,less,greater,還有三種邏輯運算,取非運算是'not'、'!',與運算符是'and'、'&&'、或運算符是'or'、'||',這些關鍵字可以組合起來構成強大的組合條件來滿足我們的需求。

下面舉幾個例子來說明。

想要截獲主機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 and port 23 and host 210.27.48.1

Telnet使用tcp協議,應用層為23埠。

獲取主機210.27.48.1接收或發出的icmp包

#tcpmp -i eth0 icmp and host 210.27.48.1

ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。

抓取網口eth0上源mac地址或目的mac地址為00:21:85:6C9:A3的所有數據包,

#tcpmp -i eth0 ether src or dst 00:21:85:6C9:A3

注意,這里的mac地址格式必須以':'分隔。

我們還可以監視通過指定網關的數據包:

#tcpmp -i eth0 gateway Gatewayname

捕獲有TCP標記的包

1、捕獲所有的SYN包:tcpmp 'tcp[13] & 2 !=0'

[root@localhost ~]# tcpmp 'tcp[13] & 2 !=0' -i em1

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes

20:06:52.103251 IP 10.255.255.93.52312 > 10.255.242.67.6379: Flags [S], seq 158892324, win 14600, options [mss 1460,sackOK,TS val 614181197 ecr 0,nop,wscale 7], length 0

20:06:52.103450 IP 10.255.242.67.6379 > 10.255.255.93.52312: Flags [S.], seq 795652737, ack 158892325, win 5792, options [mss 1460,sackOK,TS val 1354263797 ecr 614181197,nop,wscale 7], length 0

#捕獲所有的ACK包

tcpmp 'tcp[13] &16 !=0'

#捕獲所有的SYN-ACK包

tcpmp 'tcp[13] = 18'

#捕獲所有的FIN包

tcpmp 'tcp[13] &1 !=0'

#捕獲所有的RST包

tcpmp 'tcp[13] &4 !=0'

#抓取埠大於1024的tcp數據包

tcpmp –i eth* 『tcp[0:2]>1024』

這些命令可以與其他過濾項組合使用。

後台抓包,控制台退出也不會影響:

nohup tcpmp -i eth1 port 110 -w /tmp/xxx.cap &

Ⅱ 使用tcpmp嗅探經過eth0,目的地址為10.1.0.1的80埠,並保存wireshark工具可打開

#tcpmp -i eth0 tcp port 80 -w /home/xx.pcap
例如:
# tcpmp -i eth0 -w /home/xxx.pcap

Ⅲ tcpmp抓包命令

1、tcpmp:默認啟動。普通情況下,直接啟動tcpmp將監視第一個網路介面上所有流過的數據包。

2、tcpmp -i eth1:監視指定網路介面的數據包,如果不指定網卡,默認tcpmp只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。

3、tcpmp host sundown:監視指定主機的數據包。列印所有進入或離開sundown的數據包。

4、tcpmp -i eth0 src host hostname:截獲主機hostname發送的所有數據。

5、tcpmp -i eth0 dst host hostname:監視所有送到主機hostname的數據包。

6、tcpmp tcp port 23 and host 210.27.48.1:如果想要獲取主機210.27.48.1接收或發出的telnet包。

7、tcpmp udp port 123:對本機的udp 123埠進行監視123為ntp的服務埠。

Ⅳ 關於linux tcpmp命令

用簡單的話來定義tcpmp,就是:mp the traffic on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。 tcpmp可以將網路中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。

實用命令實例
默認啟動
tcpmp
普通情況下,直接啟動tcpmp將監視第一個網路介面上所有流過的數據包。

監視指定網路介面的數據包
tcpmp -i eth1
如果不指定網卡,默認tcpmp只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。

監視指定主機的數據包
列印所有進入或離開sundown的數據包.
tcpmp host sundown
也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發出的所有的數據包
tcpmp host 210.27.48.1
列印helios 與 hot 或者與 ace 之間通信的數據包
tcpmp host helios and \( hot or ace \)
截獲主機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 \)
列印ace與任何其他主機之間通信的IP 數據包, 但不包括與helios之間的數據包.
tcpmp ip host ace and not helios
如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:
tcpmp ip host 210.27.48.1 and ! 210.27.48.2
截獲主機hostname發送的所有數據
tcpmp -i eth0 src host hostname
監視所有送到主機hostname的數據包
tcpmp -i eth0 dst host hostname

監視指定主機和埠的數據包
如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令
tcpmp tcp port 23 and host 210.27.48.1
對本機的udp 123 埠進行監視 123 為ntp的服務埠
tcpmp udp port 123

監視指定網路的數據包
列印本地主機與Berkeley網路上的主機之間的所有通信數據包(nt: ucb-ether, 此處可理解為'Berkeley網路'的網路地址,此表達式最原始的含義可表達為: 列印網路地址為ucb-ether的所有數據包)
tcpmp net ucb-ether
列印所有通過網關snup的ftp數據包(注意, 表達式被單引號括起來了, 這可以防止shell對其中的括弧進行錯誤解析)
tcpmp 'gateway snup and (port ftp or ftp-data)'
列印所有源地址或目標地址是本地主機的IP數據包
(如果本地網路通過網關連到了另一網路, 則另一網路並不能算作本地網路.(nt: 此句翻譯曲折,需補充).localnet 實際使用時要真正替換成本地網路的名字)
tcpmp ip and not net localnet

Ⅳ 使用什麼命令來查看目的主機接收到的報文

tcpmp常用命令:
#抓取所有經過 eth0,目的或源地址是 192.168.29.162 的網路數據
命令:tcpmp -n -i eth0 host 192.168.29.162
# 源地址
命令:tcpmp -i eth1 src host 192.168.29.162
# 目的地址
命令:tcpmp -i eth1 dst host 192.168.29.162
#抓取當前伺服器eth0網卡埠8080的網路數據
命令:tcpmp -n -i eth0 port 8080
#抓取mysql執行的sql語句
命令:tcpmp -i eth1 -s 0 -l -w - dst port 3306 | strings
#抓取mysql通訊的網路包(cap用wireshark打開)
命令tcpmp -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap
#抓取SMTP 數據
命令:tcpmp -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
#抓取HTTP GET數據,"GET "的十六進制是 47455420
命令:tcpmp -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
#抓取SSH返回,"SSH-"的十六進制是 0x5353482D
命令:tcpmp -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
#實時抓取埠號8080的GET包,然後寫入GET.log
命令:tcpmp -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log
#抓取指定SYN個數,-c 參數指定抓多少個包。
命令:time tcpmp -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10

Ⅵ tcpmp為什麼抓不到eth0的tcp包

/usr/sbin/tcpmp -i eth0 -s 1500 -w dhcp.pcap 'udp and port 67 and port 68'
-i 指定抓包網卡
-s 指定抓包長度,默認只抓包頭
-w 將抓包內容保存下來,然後用wireshark之類的軟體看更方便。如果想要在屏幕滾動查看,忽略這個選項
udp and port 67 and port 68:dhcp報文的過濾條件,udp協議,埠67和68

熱點內容
天龍八部挖礦6級在幫里哪裡升級 發布:2024-05-17 19:45:10 瀏覽:384
魚池怎麼查看eth 發布:2024-05-17 19:33:05 瀏覽:742
btc10 發布:2024-05-17 19:33:04 瀏覽:174
電信怎麼知道自己是不是合約卡 發布:2024-05-17 19:27:06 瀏覽:779
trx訓練帶怎麼掛門 發布:2024-05-17 19:17:40 瀏覽:280
皮卡堂挖礦可以挖到什麼 發布:2024-05-17 19:08:50 瀏覽:179
挖礦用4g網路 發布:2024-05-17 18:02:39 瀏覽:21
bts區塊鏈查詢有哪些 發布:2024-05-17 17:50:45 瀏覽:132
圖像顯卡eth 發布:2024-05-17 17:47:48 瀏覽:400
用btc買幣還是usdt 發布:2024-05-17 17:40:07 瀏覽:583