Linux 命令行抓包及包解析工具tshark(wireshark)使用实例解析
1、安装方法
2、实时打印当前 http 请求的 url(包括域名)
3、实时打印当前 mysql 查询语句
在 Linux 下,当我们需要抓取网络数据包分析时,通常是使用 tcpdump 抓取网络 raw 数据包
存到一个文件,然后下载到本地使用 wireshark 界面网络分析工具进行网络包分析。
最近才发现,原来 wireshark 也提供有 Linux 命令行工具-tshark。tshark 不仅有抓包的功
能,还带了解析各种协议的能力。下面我们以两个实例来介绍 tshark 工具。
1、安装方法
1. CentOS: yum install -y wireshark
2. Ubuntu: apt-get install -y tshark
2、实时打印当前 http 请求的 url(包括域名)
1. 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
版权归原作者所有 本资料只供试读 更多资源请访问 攻城狮论坛 http://bbs.vlan5.com/
-T fields -e http.host -e http.request.uri :打印 http.host 和 http.request.uri
-l :输出到标准输出
3、实时打印当前 mysql 查询语句
1. 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 一致。
版权归原作者所有 本资料只供试读 更多资源请访问 攻城狮论坛 http://bbs.vlan5.com/