TCPDump 使用教程

       每次服务器网络不通的时候,总会听到一个声音,你去抓包啊,那这里就来介绍下TCPDump,一款强大的网络分析工具,可以捕获网络上的数据包,并进行分析。这款工具在网络管理员和安全专家中非常受欢迎。

一、安装 TCPDump

在大多数 Linux 发行版中,TCPDump 已经预装在系统中。如果你的系统中没有安装,可以使用包管理器进行安装。

对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装:

apt-get update
apt-get install tcpdump


对于基于 RPM 的系统(如 CentOS),可以使用以下命令安装:

yum update
yum install tcpdump


二、基本用法

要开始捕获数据包,只需在终端中输入 tcpdump 命令。不过,如果不加任何参数,TCPDump 会捕获所有接口上的所有数据包,这通常会产生大量的输出。因此,通常我们会使用一些参数来限制捕获的数据。

1、指定网络接口

使用 -i 参数来指定一个网络接口:

[root@localhost ~]# tcpdump -i eth1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
20:10:58.590695 IP 10.115.0.110.pipe_server > 255.255.255.255.servserv: UDP, length 369
20:10:58.590869 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 66:96:66:66:66:66 (oui Unknown), length 548
20:10:58.598864 IP 10.115.0.110.pipe_server > 255.255.255.255.servserv: UDP, length 409

这个命令会捕获在 eth1 接口上的所有数据包。

2、解析

第一个数据包:

时间戳:20:10:58.590695
源 IP 地址和端口:10.115.0.110.pipe_server
目的 IP 地址和端口:255.255.255.255.servserv
协议:UDP
数据长度:369 字节
解析:这是一个 UDP 数据包,从 IP 地址 10.115.0.110 发送到广播地址 255.255.255.255。源端口被解析为 pipe_server,目的端口被解析为 servserv。这可能是一个服务发现或配置广播。
第二个数据包:

时间戳:20:10:58.590869
源 IP 地址和端口:0.0.0.0.bootpc
目的 IP 地址和端口:255.255.255.255.bootps
协议:BOOTP/DHCP
请求:来自 MAC 地址 66:96:66:66:66

3、捕获特定数量的数据包

使用 -c 参数来指定要捕获的数据包数量:

tcpdump -c 10 -i eth0

这个命令会捕获在 eth0 接口上的前10个数据包。


4、使用过滤器

TCPDump 允许使用过滤器来限制捕获的数据包。可以只捕获特定端口的数据包 port 9999 :

-nn:这个选项告诉 TCPDump 不要解析主机名(第一个 n)和端口名(第二个 n)。也就是说,它会显示 IP 地址和端口号,而不是尝试将它们解析为主机名和服务名。这可以减少查找和显示时间,特别是在 DNS 响应慢或不可用时。

-v:这个选项增加了输出的详细程度。它会显示更多的包头信息,例如在 IP 层,它会显示服务类型(TOS)、总长度和标识等信息。

-e:这个选项告诉 TCPDump 在输出的每一行中包含数据链路层的头部信息,例如源 MAC 地址和目的 MAC 地址

[root@localhost ~]# tcpdump -nnve -i eth1 -c 1 port 9999
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
20:16:13.153123 fe:fc:fe:5e:fd:0c > 9c:3a:9a:af:53:d9, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 34804, offset 0, flags [DF], proto TCP (6), length 60)
    10.115.20.110.35838 > 93.205.23.98.9999: Flags [S], cksum 0x943e (incorrect -> 0x861d), seq 3473184019, win 29200, options [mss 1460,sackOK,TS val 2444563175 ecr 0,nop,wscale 7], length 0
1 packet captured
2 packets received by filter
0 packets dropped by kernel

这个数据包是一个 TCP 连接请求,从源主机 10.115.20.110 的端口 35838 发送到目的主机 93.205.23.98 的端口 9999。由于这是一个 SYN 包,它是 TCP 三次握手过程中的第一步,用于建立两个主机之间的连接。

过滤器的其他用法:

ip:只捕获 IP 数据包。
arp:只捕获 ARP 请求和响应。
icmp:只捕获 ICMP 数据包

src:只捕获来自指定源的数据包。
dst:只捕获发送到指定目的地的数据包。
src or dst:捕获来自指定源或发送到指定目的地的数据包。
src and dst:捕获同时满足指定源和目的地的数据包

5、保存和读取捕获的数据包

这个很重要,抓到包之后,可以把这个保存下来,扔给开发脸上,来你要的包,,最最重要的是保存下来之后,可以下载到本地,用wirshark来分析
使用 -w 参数来保存捕获的数据包到一个文件中:

tcpdump -w packets.pcap -i eth1 -c 50



6、高级用法

捕获特定类型的数据包可以指定协议来捕获特定类型的数据包,例如 ICMP、TCP 或 UDP:

tcpdump icmp -i eth0
tcpdump tcp -i eth0
tcpdump udp -i eth0

当然也可以组合过滤器,使用 and、or 和 not 来组合过滤器,例如:

tcpdump -i any 'tcp src port 80 and src host 192.168.1.1'

捕获源 IP 为 192.168.1.1 且端口为 80 的 TCP 数据包。


7、使用 VLAN 过滤器

如果你的网络使用了 VLAN,你可以使用 vlan 关键字来捕获特定 VLAN 的数据包:

tcpdump -i eth0 vlan 100

这个命令会捕获在 eth0 接口上所有 VLAN ID 为 100 的数据包。

三、后言

TCPDump 是一个非常强大的工具,教程只是介绍了它的一些基本用法。要充分利用这个工具,需要对网络协议有深入的了解,并且熟悉 TCPDump 的高级过滤器语法,才能够更有效地使用 TCPDump 来监控和分析你的网络。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进程间通信之消息队列及共享内存

1.IPC对象: 内存文件 1.ipcs 查看系统重的消息队列、共享内存、信号灯的信息 2.ipcrm 删除消息队列、共享内存、信号灯 ipcrm -Q/-M/-S key ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 消息队列: 3.操作流程: …

【论文阅读】High-Resolution Image Synthesis with Latent Diffusion Model

High-Resolution Image Synthesis with Latent Diffusion Model 引用: Rombach R, Blattmann A, Lorenz D, et al. High-resolution image synthesis with latent diffusion models[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern re…

智慧城市的创新实践:全球案例分享

一、引言 在全球化和数字化的时代,智慧城市已经成为城市发展的前沿趋势。智慧城市运用先进的信息技术,如大数据、物联网、云计算和人工智能等,提升城市管理的智能化水平,增强公共服务效率,优化居民生活质量。本文将通…

AI-RAN联盟在MWC24上正式启动

AI-RAN联盟在MWC24上正式启动。它的logo是这个样的: 2月26日,AI-RAN联盟(AI-RAN Alliance)在2024年世界移动通信大会(MWC 2024)上成立。创始成员包括亚马逊云科技、Arm、DeepSig、爱立信、微软、诺基亚、美…

技术面没过,居然是因为没用过Pytest框架

01 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 简单灵活,容易上手,文档丰富; 支持参数化,可以细粒度地控制要测试的测试用例; 能够支持简单的单元测试和复杂的…

相机,棱镜和光场

一、成像方法 Imaging Synthesis Capture 1.Synthesis(图形学上)合成:比如之前学过的光线追踪或者光栅化 2.Capture(捕捉):把真实世界存在的东西捕捉成为照片 二、相机 1.小孔成像 利用小孔成像的相…

MES系统在离散制造企业中的功能解析

随着信息技术的快速发展和制造业的转型升级,MES在离散制造企业中的作用日益凸显。MES系统不仅提高了生产效率和产品质量,还优化了资源配置,增强了企业的市场竞争力。 一、生产管理功能 MES系统能够实时监控生产现场的各种数据,包…

【SQL】608. 树节点(流控制语句 CASE + IF语句)

前述 知识点推荐学习: sql中的 IF 条件语句的用法 MySQL:if语句、if…else语句、case语句,使用方法解析 题目描述 leetcode 题目:608. 树节点 思路 关键点:如何确定有没有子节点 根节点:父节点为空内节…

FreeRTOS任务管理(创建、删除、挂起、恢复)

目录 一、任务概念 二、系统启动与空闲任务 三、任务创建 四、任务删除 五、任务挂起 六、任务恢复(普通模式和中断模式) 七、任务管理编程实战 一、任务概念 1、任务的基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元 …

Flutter(三):Stack、Positioned、屏幕相关尺寸、Navigator路由跳转

页面尺寸 通知栏高度:MediaQuery.of(context).padding.top顶部导航高度:kToolbarHeight底部导航高度:kBottomNavigationBarHeight屏幕宽:MediaQuery.of(context).size.width屏幕高:MediaQuery.of(context).size.height…

基于STM32制作的示波器(可对任意信号进行描点)

基于STM32制作的示波器(可对任意信号进行描点) 注意:用的屏幕是TFT-LCD(MCU 屏)正点原子同款屏幕 液晶显示器,即 Liquid Crystal Display,利用了液晶导电后透光性可变的特性,配合显…

2024洗地机选购攻略 | 洗地机好用吗?洗地机如何挑选?

在众多清洁工具中,洗地机以其卓越的清洁能力和便捷的操作方式,获得了广泛关注。2024年,市场上涌现出众多品牌的洗地机,但哪些品牌的洗地机值得推荐呢?在这里,我们将详细探讨几个备受好评的洗地机品牌&#…

Fisher矩阵与自然梯度法

文章目录 Fisher矩阵及自然梯度法Fisher矩阵自然梯度法总结参考链接 Fisher矩阵及自然梯度法 自然梯度法相比传统的梯度下降法具有以下优势: 更好的适应性:自然梯度法通过引入黎曼流形上的梯度概念,能够更好地适应参数空间的几何结构。这使…

向上生长笔记

第一章 成为一个很厉害的人(持续输入,反复练习) 为什么要学习及如何学习 1、自毁趋势(熵增),故需要能量输入(负熵流) //引申:水往低处流是趋势,学习是逆趋势。 2、持续输入能量(物质和信息),…

BUUCTF---[ACTF2020 新生赛]BackupFile1

1.题目描述 2.题目提示backup file ,是备份文件的意思。点开链接,页面提示 3.查看源码没有什么有用信息,也没有登录界面,所以也不会用到蚁剑链接来找备份文件,所以大概率就是通过构造playload来查找备份文件。 4.备份…

vue+element ui上传图片到七牛云服务器

本来打算做一个全部都是前端完成的资源上传到七牛云的demo,但是需要获取token,经历了九九八十一难,最终还是选择放弃,token从后端获取(springboot)。如果你们有前端直接能解决的麻烦记得私我哦!…

详解自动化测试框架特点和原理

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程,一周学完让你面试通过率提高90%!(自动化测试) 今天捡一些比较典型的工具型自动化框架来介绍,主要围绕历史、特点和原理来讲解,至于使用教程…

MYSQL07高级_Hash结构、平衡二叉树、B树、B+树介绍

文章目录 ①. 全表遍历②. Hash结构③. 平衡二叉搜索树(AVL)④. B树⑤. B树⑥. 时间复杂度 选择的合理性 磁盘的I/O操作次数对索引的使用效率至关重要查找都是索引操作,一般来说索引非常大,尤其是关系型数据库,当数据量比较大的时候,索引的大小有可能几个G甚至更多,为了减少索引…

BUUCTF---[BJDCTF2020]藏藏藏1

1.题目描述 2.下载附件,解压之后是一张图片和一个文本 3.把图片放在winhex,发现图片里面包含压缩包 4.在kali中使用binwalk查看,然后使用foremost分离,在使用tree查看分离出来的文件,最后将zip文件使用unzip进行解压。步骤如下 5.…

分巧克力 刷题笔记

/* 分巧克力 解题思路 二分 直接检查看答案是否符合题目条件 对于一块边长分别为x 和y的巧克力\\ 假设我们输入检查的数为k 其能分割成的 k*k 的巧克力的块数为 (x/k)*(y/k) 因为c里面的除法是下取整的所以我们不用考虑奇偶数 是否能整除 将每一块巧克力能分成的k*k的巧克力…