Linux中tshark(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一致。
例子
代码如下 | 复制代码 |
std::string decodeHex(const std::string& strHex) void cswuyg_test_tshark() HANDLE hStd = ::GetStdHandle(STD_OUTPUT_HANDLE); |
上边的demo为抓取跟ip地址为172.17.195.56,端口为80(http默认端口)的机器的通信,tshark会提供包解析之后的xml数据,程序将其存储到文件。注意部分数据是需要由hex字符串转换为真实字符串的,另外还可能会有需要gzip解压。
最新文章
- django 同步数据库
- Windows硬件断点-实现单步异常
- 单身狗进化——求n!的位数
- Hibernate-Criteria用法
- JavaScript的条件语句
- Program A-归并排序
- 游戏BI,起步了。
- Google镜像站更新地址
- js页面传参数时,参数值包含特殊字符的处理
- python字符串连接的三种方法及其效率、适用场景详解
- Uboot与Linux之间的参数传递
- jQuery.extend函数详细用法!
- 【MFC初学】
- spring+hibernate中的Result object returned from HibernateCallback isn't a List
- 用js来实现那些数据结构(数组篇01)
- 零基础学Python--------第5章 字符串及正则表达式
- Linux shell脚本学习(一)
- PO1068 Parencodings 模拟题
- kotlin 插件更新到 1.2.41 程序出错 Please use kotlin-stdlib-jdk7 instead
- 微服务架构与实践4_Docker
热门文章
- STSdb
- POJ 2411 Mondriaan's Dream
- 使用vxsim(一)
- 【原】Spark中Client源码分析(一)
- nyoj 找球号三(除了一个数个数为基数,其他为偶数,编程之美上的)
- WCF入门到精通(二)——契约
- ubuntu usb权限问题解决
- ubuntu下安装opencv 2.4.9 脚本,支持摄像头和cuda
- Codeforces294B - Shaass and Bookshelf(贪心)
- hdoj 4612 Warm up【双连通分量求桥&;&;缩点建新图求树的直径】