導航:首頁 > 操作系統 > linux下tcpdump

linux下tcpdump

發布時間:2023-01-27 04:43:50

linux中tcpmp命令怎麼用

tcpmp
-i: 後跟網卡名;
host:後跟主機IP;

-a —— 將網路地址和廣播地址轉變成名字;
-c —— 指定抓取的數據包數量;
-n:不把主機IP轉為主機名;
-r:指定從某個文件中讀取數據包;
-e:指定將監聽到的數據包鏈路層的信息列印出來,包括源mac和目的mac,以及網路層的協議;
-nn:不把ip、協議、埠等轉為名字;
-T —— 將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網路管理協議);
-w —— 直接將包寫入文件中,並不分析和列印出來;
and:條件篩選,包含兩個地址;
or:條件篩選,兩個之中的一個;
src:後跟起始地址;
dst:後跟目的地址;

❷ Linux 基礎教程 29-tcpmp命令-1

    在Linux中輸入命令man tcpmp給出的定義如下所示:

是不是感覺很懵?我們用通俗、形象、學術的表達方式來全方位描述tcpmp:

常用選項如下所示:

1、第一個抓包示例

-i : 指定用來抓包的網路介面,這個參數在伺服器有多個網卡的時候非常有效
-nn : 不轉換協議和埠號,當tcpmp遇到協議號或埠號,不需要將這些數字轉換為對應的協議名稱或埠名稱,如22埠SSH埠,我們希望顯示22,而非SSH
-X : 將協議頭和包內容原原本本的顯示出來,tcpmp會同時以16進制和ASCII的形式進行顯示,在協議分析時非常好用。
'port 22' : 告訴tcpmp要有選擇的顯示所抓到的包,在該示例中,只顯示源埠或目的埠是22的數據包,其他的數據包則不顯示。
-c : 用來指定抓包的個數,示例設置的個數為1,則代表僅抓取一個包之後就退出不再抓包了。

2、-e 增加數據鏈路層的頭部信息

    通過兩個命令的輸出對比,可以看到增加-e選項後,輸出的結果中增加MAC地址信息。而且在輸出內容中會有 oui Unknown ,OUI即Organizationally unique identifier(組織唯一標識符),在任何一塊網卡中燒錄的6位元組MAC地址中,前3個位元組體現了OUI,其表明了網卡的製造組織,通常情況下,該標識符是唯一的。在本例中,由於沒有識別出網卡的製造商,因此顯示為Unknown。

3、-l 將輸出變為行緩沖模式

    -l的作用是將tcpmp的輸出行為變為 行緩沖 方式,這樣可以保證tcpmp遇到換行符,就立即將緩沖的內容輸出到標准輸出(stdout),方便利用管道或重定向方式進行後續處理,而不會造成延遲。
    在Linux的標准I/O中提供了 全緩沖 行緩沖 無緩沖 三種緩沖方式。標准錯誤是不帶緩沖的,而終端設備常為行緩沖,其他默認則為全緩沖。

    在該例中,將tcpmp輸出的內容通過管道提取第5列,可以用來查看詳細的連接信息。而如果不加 -l 選項時,則只有當緩沖區全部占滿時,tcpmp才會將緩沖區中的內容輸出,這樣就有可能導致輸出不連續的,如果強行結束,則會影響下一行的完整性。

4、-t 輸出不加時間戳

    在增加選項 -t 選項後,時間23:48:03.193526就消失了。tcpmp默認情況下是按微秒來計時,因此最一個時間精確到了第6位。

5、 -v 顯示詳細信息

    在增加 -v 選項後,會在輸出的內容中增加 tos ttl id offset 協議編號 總長度 等,如需要理解這些信息,就需要了解TCP/IP協議中的頭的具體定義了。

6、-F 指定過濾表達式所在的文件
    在第一個示例中,命令行增加了 'port 22' ,而這一項就叫 過濾條件 ,如果設置了過濾條件,則tcpmp只抓取滿足過濾條件的數據包。如需要設置較為復雜的過濾條件或復用過濾條件時,這時可以將過濾條件保存為文件,然後通過-F載入該過濾文件。

7、 -w 將原始數據包信息保存到文件中

    當我們查看保存的文件時,出現的是亂碼。則代表無法直接查看,很有可能是二進制文件。那麼怎麼查看保存的文件了?請看下一個示例。

7、 -r 從文件中讀取原始數據包

    通過-w和-r選項即可實現抓包的錄制回放功能。

❸ 一篇就弄懂Linux netstat和tcpmp的常見用法

Netstat是一款CLI工具,它可以列出系統上所有的網路連接情況,包括tcp、udp和其他unix網路socket,另外它還能列出處於監聽狀態的socket。當Linux網路或系統排查問題時,netstat基本上是必用的工具之一,下面開始對netstat的常見用法加以說明。

用途:列出tcp、udp和其他unix套接字下所有的連接,往往信息提供的不夠直觀和詳細,因此也常通過搭配其他參數一起使用。

相信很多用戶已經發現,在執行上述命令的時候結果查詢的不是很快,這是因為netstat默認會使用反向域名解析,會把對應的IPv4地址解析對應到IPv6或者主機名,如果IP地址信息足夠滿足需求時,大可以禁用反向域名解析,加上 -n 參數。

如果是查看udp協議下的連接,則用 netstat -nlu 。

常常會遇到如下場景:我們提前預知某服務程序開放某監聽埠,於是想查看對應連接的信息,包括進程名、進程ID甚至執行owner信息等,可加入 -p , -e 參數來實現。

netstat -s 可以列印出網路統計數據,包括某個協議下的收發包數量;
netstat -rn 可查看路由信息,效果等同於 route -n ;
netstat -i 或者 netstat -ie 可查看網路介面信息,且後一條命令效果等同於 ifconfig -a ;

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

在介紹tcpmp常用命令之前先提一個小建議,每個tcpmp命令的末尾加上 -s 0 -nvvvtttt 參數,簡單解釋一下參數的含義:

另外還可以結合自己的需要選擇要不要加上 -x -xx -X -XX (輸出會列印每個包的頭部數據,且會以16進制或者ASCII碼形式列印每個包的數據)等參數

如下僅簡單說明一下上文沒提到的用法:

python 怎麼調用linux下的tcpmp

之前在linux用python腳本寫一個抓包分析小工具,實在不想用什麼libpcap、pypcap所以,簡單來了個tcpmp加grep搞定。基本思路是分別起tcpmp和grep兩個進程,進程直接通過pipe交換數據,簡單代碼如下:

[python] view plain
#! /usr/bin/python

def tcpmp():
import subprocess, fcntl, os
# sudo tcpmp -i eth0 -n -s 0 -w - | grep -a -o -E "Host: .*|GET /.*"
cmd1 = ['tcpmp', '-i', 'eth0', '-n','-B', '4096','-s', '0', '-w', '-']
cmd2 = ['grep', '--line-buffered', '-a', '-o', '-E', 'Host: .*|GET /.*']
p1 = subprocess.Popen(cmd1, stdout=subprocess.PIPE)
p2 = subprocess.Popen(cmd2, stdout=subprocess.PIPE, stdin=p1.stdout)

flags = fcntl.fcntl(p2.stdout.fileno(), fcntl.F_GETFL)
fcntl.fcntl(p2.stdout.fileno(), fcntl.F_SETFL, (flags | os.O_NDELAY | os.O_NONBLOCK))
return p2

def poll_tcpmp(proc):
#print 'poll_tcpmp....'
import select
txt = None
while True:
# wait 1/10 second
readReady, _, _ = select.select([proc.stdout.fileno()], [], [], 0.1)
if not len(readReady):
break
try:
for line in iter(proc.stdout.readline, ""):
if txt is None:
txt = ''
txt += line
except IOError:
print 'data empty...'
pass
break
return txt

proc = tcpmp()
while True:
text = poll_tcpmp(proc)
if text:
print '>>>> ' + text

❺ 在Linux系統怎麼用tcpmp命令

------------------------------------tcpmp--------------------------------
協議報文分析器:
sniffer: 商業工具

tcpmp, wireshark(GUI), tshark(CLI)

tcpmp [options] 過濾條件

獲取報文的條件:

ip src host 172.16.100.1
tcp src or dst port 21

udp dst port 53

tcp src or dst port 21 AND src host 172.16.100.1

tcp port 21 AND host 172.16.100.1

tcpmp的語法:
tcpmp [options] [Protocol] [Direction] [Host(s)] [Value] [Logical Operations] [Other expression]

Protocol(協議):
Values(取值): ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
If no protocol is specified, all the protocols are used.

Direction(流向):
Values(取值): src, dst, src and dst, src or dst
If no source or destination is specified, the "src or dst" keywords are applied. (默認是src or dst)
For example, "host 10.2.2.2" is equivalent to "src or dst host 10.2.2.2".

Host(s)(主機):
Values(替代關鍵字): net, port, host, portrange.
If no host(s) is specified, the "host" keyword is used. 默認如果此段沒有指定關鍵字,默認即host。
For example, "src 10.1.1.1" is equivalent to "src host 10.1.1.1".

Logical Operations:
(1) and
and or &&
(2) or
or or ||
(3) except
not or !

常用選項:

-i any : 指定在哪個網卡進行抓包
-n : 不反解主機名
-nn : 不反解主機名與埠號
-X : 以16進制格式與ASCII格式顯示報文
-XX : 除了顯示X的內容還顯示乙太網首部
-v, -vv, -vvv : 顯示更詳細的信息
-c # : Only get x number of packets and then stop.
-s : Define the snaplength (size) of the capture in bytes. Use -s0 to get everything, unless you are intentionally capturing less.
-S : Print absolute sequence numbers.
-e : Get the ethernet header as well.
-q : Show less protocol information.
-E : Decrypt IPSEC traffic by providing an encryption key.
-A :Display Captured Packets in ASCII
-w /path/to/some_file : Capture the packets and write into a file
-r /path/from/some_file : Reading the packets from a saved file
-tttt : Capture packets with proper readable timestamp

eg:
tcpmp -i eth0 -X -nn -vv tcp port 100
可以在報文上面看一下有無user與pass的信息.
tcpmp -i eth0 -X -nn -vv tcp port 110 and ip src 192.168.10.1

ip host 172.16.100.1
ip src host 172.16.100.1
ip dst host 172.16.100.1
ip src and dst host 172.16.100.1

❻ tcpmp 怎麼在linux操作系統上抓包

默認系統里邊沒有安裝有tcpmp的,無法直接使用

這里我們可以使用yum來直接安裝它
yum install -y tcpmp

如果忘記了這個的用法,我們可以使用 tcpmp --help 來查看一下使用方法

一般我們的伺服器里邊只有一個網卡,使用tcpmp可以直接抓取數據包,但是這樣查看太麻煩了,所以都會添加參數來進行獲取的。
例如我截取本機(192.168.31.147)和主機114.114.114.114之間的數據
tcpmp -n -i eth0 host 192.168.31.147 and 114.114.114.114

還有截取全部進入伺服器的數據可以使用以下的格式
tcpmp -n -i eth0 dst 192.168.31.147
或者伺服器有多個IP 可以使用參數
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157

我們抓取全部進入伺服器的TCP數據包使用以下的格式,大家可以參考下
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157 and tcp
從本機出去的數據包
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157 and port ! 22 and tcp

或者可以條件可以是or 和 and 配合使用即可篩選出更好的結果。

❼ linux下tcpmp抓包存在什麼位置

tcpmp默認的是標准輸出,一般來講就是顯示器,如果要將抓包結果保存到文件則需要使用-w參數,例如:

$tcpmp-ieth1-w/tmp/xxx.cap

抓eth1的包

❽ 關於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

閱讀全文

與linux下tcpdump相關的資料

熱點內容
男主得艾滋病的電影 瀏覽:806
罪孽船長泰國版在線觀看 瀏覽:193
外國電影一個黑男孩在深林 瀏覽:902
叔嫂不倫之戀電影 瀏覽:211
溫暖溫柔是哪部小說 瀏覽:203
穿越抗戰自立為軍閥的小說 瀏覽:601
韓國強殲電影有哪些 瀏覽:291
一女二三男小說穿越文 瀏覽:824
台灣用哪個軟體看電視 瀏覽:365
父親為救兒子像男人獻身的泰國電影 瀏覽:72
台灣民族片子 瀏覽:4
香港老公出軌電影 瀏覽:462
黑社會後生可畏國語 瀏覽:137
韓國肉肉電影在線觀看 瀏覽:345
中文版韓國倫理電影 瀏覽:397
皇上叫秦風女主是宮女的小說 瀏覽:912
可以看得網址 瀏覽:162
公主的奴 瀏覽:115
邵氏電影700部資源 瀏覽:778
秋瓷炫恐怖電影 瀏覽:873