Linux网络抓包工具tcpdump

news2024/11/26 12:22:00

  tcpdump 指令可列出经过指定网络界面的数据包文件头,可以将网络中传送的数据包的 “头” 完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not 等逻辑语句来帮助你摘取有用信息。
  由于它需要将网络接口设置为混杂模式,普通用户不能正常执行,但具备 root 权限的用户可以直接执行它来获取网络上的信息

一、命令选项

1.1、tcpdump 表达式

  tcpdump [选项] [协议] [数据流方向] [范围]
  -a 将网络地址和广播地址转变成名字
  -A 以 ASCII 格式打印出所有分组,并将链路层的头最小化
  -b 数据链路层上选择协议,包括 ip/arp/rarp/ipx 都在这一层
  -c 指定收取数据包的次数,即在收到指定数量的数据包后退出 tcpdump
  -d 将匹配信息包的代码以人们能够理解的汇编格式输出
  -dd 将匹配信息包的代码以 c 语言程序段的格式输出
  -ddd 将匹配信息包的代码以十进制的形式输出
  -D 打印系统中所有可以监控的网络接口
  -e 在输出行打印出数据链路层的头部信息
  -f 将外部的 Internet 地址以数字的形式打印出来,即不显示主机名
  -F 从指定的文件中读取表达式,忽略其他的表达式
  -i 指定监听网络接口
  -l 使标准输出变为缓冲形式,可以数据导出到文件
  -L 列出网络接口已知的数据链路
  -n 不把网络地址转换为名字
  -N 不输出主机名中的域名部分,例如 www.baidu.com 只输出 www
  -nn 不进行端口名称的转换
  -P 不将网络接口设置为混杂模式
  -q 快速输出,即只输出较少的协议信息
  -r 从指定的文件中读取数据,一般是 - w 保存的文件
  -w 将捕获到的信息保存到文件中,且不分析和打印在屏幕
  -s 从每个组中读取在开始的 snaplen 个字节,而不是默认的 68 个字节
  -S 将 tcp 的序列号以绝对值形式输出,而不是相对值
  -T 将监听到的包直接解析为指定的类型的报文,常见的类型有 rpc(远程过程调用)和 snmp(简单网络管理协议)
  -t 在输出的每一行不打印时间戳
  -tt 在每一行中输出非格式化的时间戳
  -ttt 输出本行和前面以后之间的时间差
  -tttt 在每一行中输出 data 处理的默认格式的时间戳
  -u 输出未解码的 NFS 句柄
  -v 输出稍微详细的信息,例如在 ip 包中可以包括 ttl 和服务类型的信息
  -vv 输出相信的保报文信息

1.2、tcpdump关键字

1.2.1、 host、port、net

  host 192.168.100.1 表示一台主机,net 192.168.100.0 表示一个网络网段,port 80 指明端口号为 80,在这里如果没有指明数据类型,那么默认就是 host

1.2.2、数据传输方向 src、dst、dst or src、dst and src

  src、dst、dst or src、dst and src,这些关键字指明了传输的方向,比如 src 192.168.100.1 说明数据包源地址是 192.168.100.1。dst net 192.168.100.0 指明目的网络地址是 192.168.100.0,默认是监控主机对主机的 src 和 dst,即默认监听本机和目标主机的所有数据

1.2.3、协议关键字

  包括 ip、arp、rarp、udp

1.2.4、其他关键字

  运算类型:or、and、not、!
  辅助功能型:gateway、less、broadcast、greater

1.3、常用的过滤条件

  tcpdump 可以支持逻辑运算符
  and: 与运算,所有的条件都需要满足,可用 “and”和 “&&” 表示
  or:或运行,只要有一个条件满足就可以,可用 “or” 和“|”表示
  not:取反,即取反条件,可以用 “not” 和“!”表示

二、使用实例

2.1、全部监听

  默认监听在第一块网卡,监听所有经过此网卡的数据包

sudo tcpdump

在这里插入图片描述

2.2、监听指定网卡

  监听指定网卡 ens33 的所有传输数据包

sudo tcpdump  -i  ens33

在这里插入图片描述

2.3、监听特定主机的指定网卡

2.3.1、示例一

sudo tcpdump -i ens33 host 192.168.159.128 

在这里插入图片描述

  捕获主机 192.168.159.128 经过网卡 ens33 的所有数据包(也可以是主机名,但要求可以解析出 IP 地址)
  第一列:报文的时间
  第二列:网络协议 IP
  第三列:发送方的 ip 地址、端口号、域名。
  第四列:箭头 >, 表示数据流向
  第五列:接收方的 ip 地址、端口号、域名,
  第六列:冒号
  第七列:数据包内容,报文头的摘要信息,有 ttl、报文类型、标识值、序列、包的大小等信息

2.3.2、示例二

sudo tcpdump -i ens33 dst host 192.168.159.128

  捕获所有发送到主机 192.168.159.128 的数据包
在这里插入图片描述

2.3.3、示例三

  监听主机 192.168.159.1 和 192.168.159.128 之间 ip 协议的 80 端口的的所有数据包:

sudo tcpdump dst 192.168.159.1 and 192.168.159.128 and port 80

在这里插入图片描述

2.4、监听特定协议的包

2.4.1、监听ARP包

sudo tcpdump arp

在这里插入图片描述

2.4.2、监听TCP包

sudo tcpdump tcp port 64386

在这里插入图片描述

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

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

相关文章

青岛大学_王卓老师【数据结构与算法】Week04_11_案例分析与实现1_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…

STM32网络通信Web Server中SSI和CGI的应用

介绍 最近由于项目功能需要,开始研究STM32 WebServer通信以及SSI和CGI应用方法。项目结束后,主要总结浏览器与STM32之间进行通行,STM32作为服务器而浏览器做为客户端进行通行。 文件介绍 此部分的代码是根据ST官方的Web Server例程的基础上…

ubuntu配置pppoe的详细过程

虽然我的是22,其实这跟ubuntu的具体版本没什么关系 1 为什么要装pppoe联网? 联想主机装上ubuntu后发现wifi网络在启动后一段时间找不到,突然搜索不了,后来问导师才知道师妹之前就是用这个电脑,然后也碰到过。 所以不…

开发抖音短视频账号矩阵系统技术实现能解决一机一号实名认证问题?

一、短视频账号矩阵系统解决一机一号实名认证问题? 目前站在开发者角度来看问的比较多,做开发技术类矩阵saas工具,需要的多账号怎么解决,这需要从两个方面来做开发解决。 第一、从开发角度来看技术开发首先解决代理ip分发问题&a…

SPSS读取纯文本文件

纯文本文件是通用的一种格式文件,根据纯文本文件中数据的排序方式,可以将其分为自由格式和固定格式。自由格式文本文件的数据项之间必须有分隔符,固定格式数据项之间不需要分隔符。 1.以自由格式读取数据 (1)选择“文…

【嵌入式Qt开发入门】如何使用Qt进行绘制实时图表——QChart 图表

要想使用 Qt Charts,我们的 Qt 版本得使用 Qt 5.7 之后的版本。其实 Qt Charts 并不是 Qt 5.7 才有的,是在 Qt 5.7 以前只有商业版本的 Qt 才有 Qt Charts。我们能免费下载的 Qt 版本都是社区(开源)版本。 Qt Charts 很方便的绘制…

LTD233次升级|官网商城全球卖货•上传文章SEO关键字•创建下载中心

1、支持第三方支付平台Billing System,支持人民币结算外币商品 2、中文商城支持海外收货地址 3、文章批量上传支持传入 SEO关键字 4、拍卖应用支持查看竞价中的报价记录 5、新增下载文件模块 商城应用 1) 支持第三方支付平台 Billing System 在本次升级中&…

IM即时通讯+智能审批,助力企业效能提升

在企业运行中,大都会使用即时通讯去进行沟通交流,即传递文字信息、各类文档文件甚至是实时的语音和视频通话。而随着技术的不断深入,即时通讯软件越发成熟,它已经不再仅仅只是一个简单的聊天工具,而是包涵办公、协作、…

2023年测试之路,从功能测试进阶测试开发工程师,突破内卷...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试开发工程师到…

LiangGaRy-学习笔记-Day28

1、回顾知识 1.1、docker启动MySQL 安装docker #准备好二进制的包 [rootNode2 ~]# ls docker-20.10.9.tgz docker-20.10.9.tgz [rootNode2 ~]# #解压docker的二进制包 [rootNode2 ~]# tar -xf docker-20.10.9.tgz #把它移动到/usr/local/下 [rootNode2 ~]# mv docker /usr/…

《MySQL技术内幕》读书总结(一):MySQL体系结构和存储引擎

文章目录 前言:1、定义数据库和实例2、MySQL体系结构3、MySQL存储引擎InnoDBMyISAM 4、连接MySQL 前言: 该技术文章是我阅读《MySQL技术内幕 InnoDB存储引擎》第2版的总结梳理 我写这里文章的目的:书中的内容过于系统和繁琐,并不是…

小白也能轻松上手的6个流程图工具

随着信息时代的到来,流程图已经成为各行各业展示业务流程、工作流程、数据流程等必不可少的形式之一。但是对于初学者来说,学习和使用传统的流程图软件有一定的门槛,因此,本文将推荐6款适合初学者的在线流程图软件,让您…

Framework UI机制之Choreographer编舞者

Choreographer(编舞者) Choreographer(编舞者)是 Android 系统中的一个重要组件,用于协调和管理界面的动画和渲染操作的时机。它负责在界面上正确地处理和同步动画、布局和绘制操作,以保证流畅的用户体验。…

Java基础---常见的语法糖

目录 典型回答 如何解语法糖 糖块一、switch 支持 String 与枚举 糖块二、泛型 糖块三、自动装箱与拆箱 糖块四、方法变长参数 糖块五、枚举 糖块六、内部类 糖块七、条件编译 糖块八、断言 糖块九、数值字面量 糖块十、for-each 糖块十一、try-with-resource 糖…

TigerBot和ChatGLM-6B大语言模型

目录 1 TigerBot大语言模型 1.1 环境安装 1.2 模型下载 1.2.1 hugging face 网站下载 1.2.2 百度网盘下载 1.3 推理 2 ChatGLM大语言模型 2.1环境搭建 2.2 模型下载 2.3 推理 1 TigerBot大语言模型 虎博科技”发布自研多模态大模型TigerBot,开源模型、代码…

Focal Loss损失函数

目录 前言 交叉熵损失函数 平衡交叉熵 Focal Loss 代码实现 前言 Focal loss是一个常用的解决类别不平衡问题的损失函数,由何恺明提出的(论文名称:Focal Loss for Dense Object Detection),用于图像领域解决one-…

学习系统编程No.29【线程执行过程之页表详解】

引言: 北京时间:2023/7/3/14:09,刚睡醒,放假在家起床时间确实不怎么好调整,根本固定不了一点,当然通俗点说也就是根本起不来,哈哈哈,已经很少见到那种7点起来码字的情形了&#xff…

NanopcT4 系统 人脸检测实验 超详细教程 代码及操作步骤

文章目录 1.NanopcT4 系统烧写详细操作步骤2.vim 使用与 gcc 使用3.makefile 使用4.GPIO 引脚查看与连接5.使用vim 编写 LED 灯闪烁c 语言程序test1.c6.使用vim 编写 LED 灯闪烁shell 脚本程序test2.sh7.在ARM 上实现人脸检测 1.NanopcT4 系统烧写详细操作步骤 1)准备一张 8G …

口语理解任务源码详解系列(二)利用seq2seq-attention模型实现

利用seq2seq-attention模型实现 写在前面 在前文介绍了项目的数据集构建:传送门 本文利用seq2seq-attention实现:实现细节请参考论文:《Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling》 1.意…

喜羊羊贴吧顶帖软件实战教学

喜羊羊贴吧顶帖软件实战教学#贴吧顶帖#贴吧推广 大家好,欢迎来到百收网SEO这期视频,给大家更新一下百度贴最新的一个顶帖视频教程。首先我们今天用的顶帖软件是我们的喜羊羊173 的一个版本,软件的话在我们的群文件去下载,就是我们…