linux系统中Wireshark的网络抓包如何实现?

linux系统是我们嵌入式开发中常用的操作系统,今天和大家介绍的就是linux系统下,Wireshark的网络抓包使用方法,一起来看看吧。

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。

与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。

Wireshark的优势:

  • 安装方便。

  • 简单易用的界面。

  • 提供丰富的功能。

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析。

最近才发现,原来wireshark也提供有Linux命令行工具-tshark。tshark不仅有抓包的功能,还带了解析各种协议的能力。下面我们以两个实例来介绍tshark工具。

1、安装方法

CentOS:
yum install -y wireshark
Ubuntu:

apt-get install -y tshark
2、实时打印当前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 :输出到标准输出

3、实时打印当前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一致。

文章来源:极客头条

你可能感兴趣的:(linux系统中Wireshark的网络抓包如何实现?)