Linux命令行抓包及包解析工具tshark(wireshark)使用實例解析

  在Linux下,當咱們須要抓取網絡數據包分析時,一般是使用tcpdump抓取網絡raw數據包存到一個文件,而後下載到本地使用wireshark界面網絡分析工具進行網絡包分析。
  最近才發現,原來wireshark也提供有Linux命令行工具-tshark。tshark不只有抓包的功能,還帶了解析各類協議的能力。下面咱們以兩個實例來介紹tshark工具。
一、安裝方法

    CentOS: yum install -y wireshark
    Ubuntu: apt-get install -y tshark

二、實時打印當前http請求的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'

下面介紹參數含義:

    -s 512 :只抓取前512個字節數據
    -i eth0 :捕獲eth0網卡
    -n :禁止網絡對象名稱解析
    -f 'tcp dst port 80' :只捕捉協議爲tcp,目的端口爲80的數據包
    -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 :輸出到標準輸出

三、實時打印當前mysql查詢語句

    tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query

下面介紹參數含義:

    -s 512 :只抓取前512個字節數據
    -i eth0 :捕獲eth0網卡
    -n :禁止網絡對象名稱解析
    -f 'tcp dst port 3306' :只捕捉協議爲tcp,目的端口爲3306的數據包
    -R 'mysql.query' :過濾出mysql.query
    -T fields -e mysql.query :打印mysql查詢語句

tshark使用-f來指定捕捉包過濾規則,規則與tcpdump同樣,能夠經過命令man pcap-filter來查得。
tshark使用-R來過濾已捕捉到的包,與界面板wireshark的左上角Filter一致。mysql

 

來自:https://www.centos.bz/2014/07/linux-commandline-capture-packets-tshark-wireshark/linux

相關文章
相關標籤/搜索