0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux之tshark抓包工具安装和使用

马哥Linux运维 来源:CSDN-恒悦sunsite 2023-05-22 14:33 次阅读

一、tshark简介

tshark是一个网络协议分析器。它允许您从实时网络捕获数据包数据,或者从以前保存的捕获文件读取数据包,或者将这些数据包的解码形式打印到标准输出,或者将数据包写入文件。TShark的本机捕获文件格式是pcapng格式,这也是Wireshark和其他各种工具使用的格式。如果不设置任何选项,TShark的工作方式将非常类似于tcpdump。它将使用pcap库捕获来自第一个可用网络接口的流量,并在每个接收到的数据包的标准输出上显示摘要行。

本文实验环境说明:

操作系统:ceontos7.6

wireshark:1.10.14

二、安装步骤

1、安装epel扩展源

[root@s145 yum.repos.d]# yum install -y epel-release

2、安装wireshark

#tshark是wireshark的一个工具,我们可以直接安装wireshark

[root@s145 yum.repos.d]# yum install -y wireshark

3、查看版本

[root@s145 yum.repos.d]# tshark -v
TShark 1.10.14 (Git Rev Unknown from unknown)

三、使用示例

1、获取命令帮助

[root@s145 ~]# tshark --help

2、查看命令版本

[root@s145 ~]# tshark -v

3、eth0接口抓包

[root@s145 ~]# tshark -i eth0

4、抓取前10个包

[root@s145 ~]# tshark -i eth0 -c 10

5、抓包http包

[root@s145 ~]# tshark -i eth0 -f ‘tcp dst port 80’

6、抓取http请求包

[root@s145 ~]# tshark -i eth0 -f ‘tcp dst port 80’ -R “http.request”

7、抓取http包并打印指定字段

[root@s145 ~]# tshark -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

8、抓包并过来指定IP地址的包

[root@s145 ~]# tshark -i eth0 -R “ip.addr == 47.103.25.27”

-R参数可以使用满足wireshark过滤规则的包,过滤规则可以参考博文:

抓包工具之wireshark常用过滤表达式

四、命令参数说明

  此处参数说明仅介绍部分常用参数,参数详细说明见官网文档:https://www.wireshark.org/docs/man-pages/tshark.html

1、捕获接口参数

参数参数说明

-i 接口名或网卡编号 (默认: 第一个非环回接口)

-f 使用libpcap过滤表达式进行包过滤

-s 设置每个抓包的大小,默认为262144。

-p不使用混杂模式抓捕报文(即只抓取与本机有关的流量)

-I如果支持则启用镜像模式

-B 内核缓存大小 (默认4MB)

-y 链路层类型 (默认为找到的第一个协议)

-D列出所有接口并退出

-L列出所有接口链路层类型并退出(供-y参数使用)

2、捕获终止条件参数

参数  参数说明
-c   捕获到n个包时停止 (默认不限,持续捕获)
-a  … duration:NUM  捕获进行NUM后停止
-a  … filesize:NUM  输出文件大于NUM KB后停止
-a  … files:NUM  输出超过NUM个文件后停止

3、捕获输出参数

参数  参数说明
-b  … duration:NUM  在NUM秒后写入下一个文件(文件名由-w参数决定)
-b  … interval:NUM  创建时间间隔NUM秒
-b  … filesize:NUM  在文件大于NUM KB后写入下一个文件
-b  … files:NUM  循环缓存: 在NUM个文件后替换早前的

4、读取文件参数

参数  参数说明
-r   设置需要读取的文件名及路径

5、分析处理参数

参数  参数说明
-2  执行两次分析
-R   包的读取过滤器,可以在wireshark的filter语法上查看;在wireshark的视图->过滤器视图,在这一栏点击表达式,就会列出来对所有协议的支持。
-Y   使用读取过滤器的语法,在单次分析中可以代替-R选项;
-n:  禁止所有地址名字解析(默认为允许所有)
-N  :  启用某一层的地址名字解析。“m”代表MAC层,“n”代表网络层,“t”代表传输层,“C”代表当前异步DNS查找。如果-n和-N参数同时存在,-n将被忽略。如果-n和-N参数都不写,则默认打开所有地址名字解析。
-d ==, …  将指定的数据按有关协议解包输出,如要将tcp 8888端口的流量按http解包,应该写为“-d tcp.port==8888,http”;tshark -d. 可以列出所有支持的有效选择器。

6、输出参数

参数  参数说明
-w   使用pcapng格式将报文写入"outfile"文件 (或’-'表示标准输出,直接显示在终端)
-C   启动时使用指定的配置文件
-F   设置输出文件格式类型, 默认为pcapng格式 "-F"留空则列出所有的文件类型
-V  输出中增加报文层次树(包详细信息)
-O   仅显示以下协议的详细信息,逗号分割
-P  每写入一个文件后进行包情况汇总
-S   数据包之间的行分割符
-x  输出中增加16进制和ascii字符信息(报文按字节显示)
-T pdml|ps|psml|json|jsonraw|ek|tabs|text|fields|?  文本输出格式 (默认文本:text)
-j   当-T ek|pdml|json 设置时协议层过滤 (例:“ip ip.flags text”, 过滤不展开的所有字节点,除非过滤中有指定的子节点)
-J   当 -T ek|pdml|json 选项设置时进行顶层协议过滤, (例: “http tcp”, 过滤展开的所有字节点)
-e   当 -T fields 设置时打印字段 (如tcp.port,_ws.col.Info) 此选项可以多个用于打印多个字段
-E=  当-Tfields选项启用时用于输出配置:

7、其他

参数  参数说明
-h  显示帮助
-v  显示版本
-o : …  覆盖配置项
-K   使用keytab文件用于解密kerberos
-G [report]  生成一份或多份报告,默认report=“fields”,使用"-G help"获取更多信息

五、QA

1、yum安装tshark提示No package tshark available

原因:确实没有tshark包,tshark是wireshark的一个工具

解决方案:安装wireshark

[root@s145 yum.repos.d]# yum provides tshark

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 操作系统
    +关注

    关注

    37

    文章

    6288

    浏览量

    121887
  • 网络协议
    +关注

    关注

    3

    文章

    240

    浏览量

    21371
  • 数据包
    +关注

    关注

    0

    文章

    229

    浏览量

    24095

原文标题:Linux之tshark抓包工具安装和使用

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    协调器和终端都是带PA的,通过包工具发现总有datarequest包重发现象,请问是什么原因?

    本帖最后由 一只耳朵怪 于 2018-6-4 09:31 编辑 协调器和终端都是带PA的,通过包工具发现总有datarequest包重发现象,距离不超过1米应该是信号质量不好引起的吧?
    发表于 06-01 04:06

    请问有zigbee的Packet Sniffer包工具的下载链接吗

    谁有zigbee 的 Packet Sniffer包工具的下载链接,谢谢了
    发表于 08-18 06:10

    求推荐开发调试USB包工具

    如题,最近需要使用USB,求推荐包工具
    发表于 01-24 07:06

    如何去使用Wireshark包工具

    Wireshark是什么?怎样去安装一种Wireshark包工具?如何去使用Wireshark包工具呢?
    发表于 09-17 06:31

    基于ART-Pi与SX1302实现的lora-pkt-sniffer包工具设计

    1、基于ART-Pi与SX1302的lora-pkt-sniffer包工具介绍  本文描述了基于RTOS(RT-Thread)、ART-Pi[STM32H7]、LRS007+SX1302
    发表于 09-28 11:32

    Core 3399Pro JD4解合包工具Linux

    电子发烧友网站提供《Core 3399Pro JD4解合包工具Linux).txt》资料免费下载
    发表于 09-02 11:09 0次下载
    Core 3399Pro JD4解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3399 JD4解合包工具Linux

    电子发烧友网站提供《Core 3399 JD4解合包工具Linux).txt》资料免费下载
    发表于 09-02 10:08 0次下载
    Core 3399 JD4解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3328 JD4解合包工具Linux

    电子发烧友网站提供《Core 3328 JD4解合包工具Linux).txt》资料免费下载
    发表于 09-13 10:36 8次下载
    Core 3328 JD4解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3399KJ解合包工具Linux

    电子发烧友网站提供《Core 3399KJ解合包工具Linux).txt》资料免费下载
    发表于 09-14 10:17 0次下载
    Core 3399KJ解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3399J解合包工具Linux

    电子发烧友网站提供《Core 3399J解合包工具Linux).txt》资料免费下载
    发表于 09-14 09:41 0次下载
    Core 3399J解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3288J解合包工具Linux

    电子发烧友网站提供《Core 3288J解合包工具Linux).txt》资料免费下载
    发表于 09-14 09:21 0次下载
    Core 3288J解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    Core 3399 JD4 V2解合包工具Linux

    电子发烧友网站提供《Core 3399 JD4 V2解合包工具Linux).txt》资料免费下载
    发表于 09-16 10:09 0次下载
    Core 3399 JD4 V2解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    ROC RK3399 PC Pro解合包工具Linux

    电子发烧友网站提供《ROC RK3399 PC Pro解合包工具Linux).txt》资料免费下载
    发表于 09-20 16:34 12次下载
    ROC RK3399 PC Pro解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    AIO 3399ProC解合包工具Linux

    电子发烧友网站提供《AIO 3399ProC解合包工具Linux).txt》资料免费下载
    发表于 09-21 10:01 10次下载
    AIO 3399ProC解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)

    AIO 3399C解合包工具Linux

    电子发烧友网站提供《AIO 3399C解合包工具Linux).txt》资料免费下载
    发表于 09-21 09:23 10次下载
    AIO 3399C解合<b class='flag-5'>包工具</b>(<b class='flag-5'>Linux</b>)