linux系統(tǒng)是我們嵌入式開發(fā)中常用的操作系統(tǒng),今天和大家介紹的就是linux系統(tǒng)下,Wireshark的網(wǎng)絡(luò)抓包使用方法,一起來看看吧。
Wireshark是世界上最流行的網(wǎng)絡(luò)分析工具。這個(gè)強(qiáng)大的工具可以捕捉網(wǎng)絡(luò)中的數(shù)據(jù),并為用戶提供關(guān)于網(wǎng)絡(luò)和上層協(xié)議的各種信息。
與很多其他網(wǎng)絡(luò)工具一樣,Wireshark也使用pcap network library來進(jìn)行封包捕捉。
Wireshark的優(yōu)勢(shì):
安裝方便。
簡(jiǎn)單易用的界面。
提供豐富的功能。
在Linux下,當(dāng)我們需要抓取網(wǎng)絡(luò)數(shù)據(jù)包分析時(shí),通常是使用tcpdump抓取網(wǎng)絡(luò)raw數(shù)據(jù)包存到一個(gè)文件,然后下載到本地使用wireshark界面網(wǎng)絡(luò)分析工具進(jìn)行網(wǎng)絡(luò)包分析。
最近才發(fā)現(xiàn),原來wireshark也提供有Linux命令行工具-tshark。tshark不僅有抓包的功能,還帶了解析各種協(xié)議的能力。下面我們以兩個(gè)實(shí)例來介紹tshark工具。
1、安裝方法
CentOS:
yum install -y wireshark
Ubuntu:
apt-get install -y tshark
2、實(shí)時(shí)打印當(dāng)前http請(qǐng)求的url(包括域名)
tshark -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T
fields -e http.host -e http.request.uri -l | tr -d 't'
下面介紹參數(shù)含義:
-s 512 :只抓取前512個(gè)字節(jié)數(shù)據(jù)
-i eth0 :捕獲eth0網(wǎng)卡
-n :禁止網(wǎng)絡(luò)對(duì)象名稱解析
-f ‘tcp dst port 80′ :只捕捉協(xié)議為tcp,目的端口為80的數(shù)據(jù)包
-R ‘http.host and http.request.uri’ :過濾出http.host和http.request.uri
-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri
-l :輸出到標(biāo)準(zhǔn)輸出
3、實(shí)時(shí)打印當(dāng)前mysql查詢語句
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e
mysql.query
下面介紹參數(shù)含義:
-s 512 :只抓取前512個(gè)字節(jié)數(shù)據(jù)
-i eth0 :捕獲eth0網(wǎng)卡
-n :禁止網(wǎng)絡(luò)對(duì)象名稱解析
-f ‘tcp dst port 3306′ :只捕捉協(xié)議為tcp,目的端口為3306的數(shù)據(jù)包
-R ‘mysql.query’ :過濾出mysql.query
-T fields -e mysql.query :打印mysql查詢語句
tshark使用-f來指定捕捉包過濾規(guī)則,規(guī)則與tcpdump一樣,可以通過命令man pcap-filter來查得。
tshark使用-R來過濾已捕捉到的包,與界面版wireshark的左上角Filter一致。
文章來源:極客頭條