Linux 抓包还不会?这篇文章赶紧收藏!

 

前言
 

什么是TCPDUMP

TCPdump,全称dump the traffic on a network,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具。

tcpdump可以支持的功能:
1、在Linux平台将网络中传输的数据包全部捕获过来进行分析
2、支持网络层、传输层协议等协议捕获过滤;
3、数据发送和接收的主机、网卡和端口等各种过滤捕获数据规则
4、提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息
5、结合wireshark工具分析捕获的报文

TCPDump工具详细演示

tcpdump输出内容解释

默认输入 tcpdump 这个命令,回车操作之后,它将监视第一个网络接口上所有流过的数据包,一般是 eth0,如下图所示:
21:26:49.013621 IP 172.20.20.1.15605 > 172.20.20.2.5920: Flags [P.], seq 49:97, ack 106048, win 4723, length 48

图片.png

从上面的输出来看,可以总结出:
第一列:时分秒毫秒 21:26:49.013621
第二列:网络协议 IP
第三列:发送方的ip地址+端口号,其中172.20.20.1是 ip,而15605 是端口号 / iZuf65wtzat3ohpxwn7on0Z是主机,ssh是协议 22端口;
第四列:箭头 >, 表示数据流向
第五列:接收方的ip地址+端口号,其中 172.20.20.2 是 ip,而5920 是端口号
第六列:数据包内容,包括Flags 标识符,seq 号,ack 号,win 窗口,数据长度 length,其中 [P.] 表示 PUSH 标志位为 1,更多标识符大家需要了解TCP协议的标志位。

TCPDUMP详细参数使用
1、-i #指定监听网络接口

tcpdump -i eth0
默认监听在第一块网卡上,监听所有经过此网卡通过的数据包;但是我们可能关心的数据并不是 eth0 的接口,这时就需要指定端口进行数据包的捕获。
在 tcpdump 后面加一个 -i 的参数,后面跟具体需要捕获的接口名称,就可以抓取经过这个具体接口的所有数据包。
tcpdump -i any 监听所有的网卡接口、用来查看是否有网络流量

2、-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕

tcpdump -i eth0 -w tt
报文打印在shell里会太多且不方便查看,我们可以保存成文件;然后通过xftp导出到本地,可以详细查看。
扩展:导出的文件可以设置为cap或者pcap的格式,可以直接用wireshark工具打开;
可以用wireshark工具分析报文具体信息!

3、-r #从文件中读取数据,读取后,我们照样可以使用上述的过滤器语法进行过滤分析。

tcpdump -r tt.pcap

这个参数也可以实现“流量回放”的功能,就是把历史上的某一时间段的流量,重新模拟回放出来,用于流量分析。

4、-n:不把ip转化成域名,直接显示 ip

避免执行 DNS lookups 的过程,速度会快很多

图片.png

728 x 1291338 x 237

-nn:不把协议和端口号转化成名字,速度也会快很多。

图片.png

728 x 188890 x 230

-N:不打印出host 的域名部分,比如,如果设置了此选现,tcpdump 将会打印'nic' 而不是 'nic.ddn.mil'.

5、-t:在每行的输出中不输出时间

图片.png

728 x 1251311 x 226


-tt:在每行的输出中会输出时间戳
-ttt:输出每两行打印的时间间隔(以毫秒为单位)
-tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)

图片.png

728 x 1511401 x 290

6、-c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump,停止抓包

tcpdump -c 20 -w tt.pcap
解释: 抓满20个报文之后,就停止tcpdump抓包。

图片.png

728 x 931156 x 148

7、-C #与 -w FILE 保存文件选项配合使用

该选项使得 tcpdump 在把原始数据包直接保存到文件中之前,检查此文件大小是否超过 file-size。如果超过了,将关闭此文件,另创一个文件继续保存原始数据包。新创建的文件名与 -w 选项指定的文件名一致, 但文件名后多了一个数字,该数字会从1开始随着新创建文件的增多而增加。file-size的单位是百万字节(这里指1,000,000个字节,并非1,048,576个字节)。

tcpdump -C 1 -w tt

保存的文件大小不能超过1个单位(百万字节),结果如下图:

图片.png

728 x 240890 x 294

这里还可以结合另外一个参数使用:-W,限制一下最多写入多少个文件。

tcpdump -C 1 -W 3 -w abc 指定一个单位后(1MB)就换文件,最多写3个文件,名字是abc0 , abc1, abc2。

图片.png

728 x 103937 x 132

8、-s #指定每个包捕获的长度、单位是 byte,而不是默认的262144bytes;

如果超过了设定的大小限制,包就会被截断,而在打印行出现[|proto]这种标识,这个proto就是被截断的报文的协议名字。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好(-s 0 使用默认长度262144)。

图片.png

728 x 1391518 x 290

注意: 不同的tcpdump版本,这个默认抓取的报文的长度不一样。

9、-F 指定使用哪个文件的过滤表达式抓包。此时命令行上的输入过滤规则将被忽略.

tcpdump -F filter_rule -c10
这种情况适用于将表达式放置在文件中长期维护。

图片.png

10、-l #对标准输出进行行缓冲--使标准输出设备遇到一个换行符就马上把这行的内容打印出来。

在需要同时观察抓包打印以及保存抓包记录的时候很有用.
比如, 可通过以下命令组合来达到此抓包时保存到文件的同时查看包的内容。
tcpdump -l | tee dat
这命令是使用tee来把tcpdump 的输出同时放到文件dat和标准输出中
tee 功能说明:读取标准输入的数据,并将其内容输出成文件
tcpdump -l > dat1 & tail -f dat1
这个命令是通过重定向操作'>'

11、-A:#以ASCII格式打印出所有的分组并且读取此文件

这样可以使读取更加简单,方便使用 grep 等工具解析输出内容

tcpdump -A -r tt2
tcpdump -A | grep baidu

12、-X 表示同时使用十六进制和 ASCII 字符串打印报文的全部数据。

这-X和-A两个参数不能一起使用
tcpdump -X -r tt2

13、-e:#在输出行打印出数据链路层的头部信息。

默认情况下 tcpdump 不会显示数据链路层信息,使用 -e 选项可以显示源和目的 MAC 地址,以及 VLAN tag 信息。例如:

tcpdump -e -r tt2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT-DETR优化:UNetv2多层次特征融合模块结合DualConv、GSConv

🚀🚀🚀本文改进:多层次特征融合(SDI)结合DualConv、GSConv模块等实现二次创新 🚀🚀🚀SDI 亲测在多个数据集能够实现涨点,同样适用于小目标检测 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定…

SmartX 超融合和分布式存储支持哪些信创硬件?如何选型配置?

为了推动 IT 基础架构国产化转型,不少用户都使用 SmartX 超融合和分布式存储构建信创云基础设施。其中,信创硬件的选型与配置往往是用户在规划与部署环节关注的重点:国产 CPU/存储怎么选?哪个系列/型号的性价比最高?如…

记录汇川:H5U与Fctory IO测试9

主程序: 子程序: IO映射 子程序: 出料程序 子程序: 自动程序 Fctory IO配置: 实际动作如下: Fctory IO测试9

【python,机器学习,nlp】RNN循环神经网络

RNN(Recurrent Neural Network),中文称作循环神经网络,它一般以序列数据为输入,通过网络内部的结构设计有效捕捉序列之间的关系特征,一般也是以序列形式进行输出。 因为RNN结构能够很好利用序列之间的关系,因此针对自…

螺杆冷水机组工作原理

螺杆冷水机组主要由螺杆压缩机、冷凝器、蒸发器、膨胀阀及电控系统组成。水冷单螺杆冷水机组制冷原图如下: (一)双螺杆制冷压缩机 双螺杆制冷压缩机是一种能量可调式喷油压缩机。它的吸气、压缩、排气三个连续过程是靠机体内的一对相互啮合的…

软考高级选择考哪个好?

📒软考高级总共5个科目,同样是高级证书,认可度也有区别! 大家一般在「信息系统项目管理师」✔️和「系统架构设计师」✔️二选一 1️⃣信息系统项目管理师 ❤️信息系统项目管理师也叫「高项」,考试内容主要是「项目管理」相关&am…

【思扬赠书 | 第1期】教你如何一站式解决OpenCV工程化开发痛点

⛳️ 写在前面参与规则!!! ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论三次) ⛳️本次送书1~3本【取决于阅读量,阅读量越多,送的越多】 思扬赠书 | 第…

Sublime Text 3配置 Python 开发环境

Sublime Text 3配置 Python 开发环境 一、引言二、主要内容1. 初识 Sublime Text 32. 初识 Python2. 接入 Python2.1 下载2.2 安装和使用 python2.2 环境变量配置 3. 配置 Python 开发环境4. 编写 Python 代码5. 运行 Python 代码 三、总结 一、引言 Python 是一种简洁但功能强…

AI时代下的智能商品计划如何助力服装企业实现库存精准优化

在AI时代,智能商品计划为服装企业实现库存精准优化提供了强大的支持。以下是AI在这方面的关键作用和助力手段: 1. 数据驱动的需求预测: AI利用大数据和机器学习技术,分析历史销售数据、市场趋势、季节性变化等多方面信息&#x…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -我参与的投票列表实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

给高中生的一些建议

背景 总分300,各科60分左右 基本原理 破罐子破摔,集中力量办大事 分析 破罐子破摔 从高一到现在高二上学期的成绩来看,如果继续保持目前这种状态,到高考也是稳在300左右。即,如果不改变,就是咸鱼一条。既…

打破硬件壁垒:TVM 助力 AI技术跨平台部署

文章目录 《TVM编译器原理与实践》编辑推荐内容简介作者简介目录前言/序言获取方式 随着人工智能(Artificial Intelligence,AI)在全世界信息产业中的广泛应用,深度学习模型已经成为推动AI技术革命的关键。TensorFlow、PyTorch、MX…

【习题】应用程序框架

判断题 1. 一个应用只能有一个UIAbility。错误(False) 正确(True)错误(False) 2. 创建的Empty Ability模板工程,初始会生成一个UIAbility文件。正确(True) 正确(True)错误(False) 3. 每调用一次router.pushUrl()方法,页面路由栈数量均会加1。错误(Fal…

开放式耳机品牌排行榜,2024开放式耳机选购攻略

我在选后开放式耳机的路上可以说是花了不少米,前前后后也下了不少的功夫去做功课了解开放式耳机,包括市面上目前最火的西圣、南卡、cleer等热门型号我都有用过了,可以说是很有发言权了吧。 开放式耳机现在越来越涌现在大众的视野上了&#x…

如何构建Prompt,帮我生成QA,作为召回率检索的测试集?

最近在做搜索召回率的提升工作。粮草未动兵马先行!在做之前应该先有一把尺子来衡量召回率的好坏。所以应该先构建测试数据集,然后去做标准化测试。 有了测试机集以后。再去做搜索优化,才能看出来效果。 当然可以选择一些开源的测试集。如果可…

POI:对Excel的基本读操作 整理2

1 简单读取操作 public class ExcelRead {String PATH "D:\\Idea-projects\\POI\\POI_projects";// 读取的一系列方法// ...... } 因为07版本和03版本操作流程大差不差,所以这边就以03版本为例 Testpublic void testRead03() throws IOException {//获取…

可拖拽表单比传统表单好在哪里?

随着行业的进步和发展,可拖拽表单的应用价值越来越高,在推动企业实现流程化办公和数字化转型的过程中发挥了重要价值和作用,是提质增效的办公利器,也是众多行业客户朋友理想的合作伙伴。那么,可拖拽表单的优势特点表单…

【MySQL】聚合函数与分组查询

聚合函数与分组查询 一、聚合函数1、常见的聚合函数2、实例 二、分组查询1、group by子句2、准备工作3、实例4、having 条件 一、聚合函数 说明:聚合函数用来计算一组数据的集合并返回单个值,通常用这些函数完成:个数的统计,某列…

Dubbo 框架揭秘:分布式架构的精髓与魔法【一】

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Dubbo 框架揭秘:分布式架构的精髓与魔法【一】 前言Dubbo是什么Dubbo的核心概念整体设计 前言 在数字时代,分布式架构正成为应对大规模流量和复杂业务场景的标配。Dubbo&#…

【快刊录用】ABS一星,2区,仅2个月15天录用!

2023年12月30日-2024年1月5日 进展喜讯 经核实,由我处Unionpub学术推荐的论文中,新增2篇论文录用、3篇上线见刊、1篇数据库检索: 录用通知 FA20107 FA20181 — 见刊通知 FB20805 FA20269 FA20797 检索通知 FA20199 — — 计算机…