当前位置: 首页 > news >正文

使用 tcpdump 进行网络流量捕获与分析

目录

    • 安装 `tcpdump`
    • 基本用法
      • 捕获网络流量
      • 指定网络接口
      • 捕获特定主机的流量
      • 捕获特定端口的流量
      • 捕获特定协议的流量
    • 常用选项
      • 保存捕获的数据包
      • 从文件读取数据包
      • 显示数据包内容
      • 指定捕获数据包的长度
      • 限制捕获的数据包数量
      • 显示详细信息
      • 过滤表达式
    • 示例
      • 捕获本地回环接口上的HTTP流量
      • 捕获并保存所有流量到文件
      • 读取并分析保存的流量文件
      • 捕获来自特定主机的TCP流量,并以详细模式显示
      • 捕获特定时间段内的流量
    • 总结

tcpdump 是一个强大的命令行工具,用于在Linux系统上捕获和分析网络流量。它可以帮助你深入了解网络通信的细节,是网络管理员和安全专家必备的工具之一。本文将详细介绍 tcpdump 的安装、基本用法、常用选项和一些实际示例。

安装 tcpdump

在大多数Linux发行版中,tcpdump 可以通过包管理器轻松安装。例如,在Debian或Ubuntu系统中:

sudo apt-get update
sudo apt-get install tcpdump

在CentOS或Red Hat系统中:

sudo yum install tcpdump

安装完成后,可以通过以下命令检查 tcpdump 的版本:

[root@:/etc/init.d]# tcpdump -h
tcpdump version 4.9.2
libpcap version 1.8.1
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ][ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ][ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ][ -Q in|out|inout ][ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ][ --immediate-mode ] [ -T type ] [ --version ] [ -V file ][ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ][ -Z user ] [ expression ]

基本用法

tcpdump 的基本语法如下:

tcpdump [选项] [过滤表达式]

捕获网络流量

默认情况下,tcpdump 会捕获指定网络接口上的所有流量并输出到终端:

sudo tcpdump

指定网络接口

可以使用 -i 选项指定要监听的网络接口:

sudo tcpdump -i eth0

捕获特定主机的流量

使用 host 过滤表达式捕获特定主机的流量:

sudo tcpdump -i eth0 host 192.168.1.1

捕获特定端口的流量

使用 port 过滤表达式捕获特定端口的流量:

sudo tcpdump -i eth0 port 80

捕获特定协议的流量

捕获特定协议(如TCP、UDP、ICMP等)的流量:

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

常用选项

保存捕获的数据包

使用 -w 选项将捕获的数据包保存到文件中:

sudo tcpdump -i eth0 -w capture.pcap

从文件读取数据包

使用 -r 选项从文件读取并分析数据包:

sudo tcpdump -r capture.pcap

显示数据包内容

使用 -X 选项以十六进制和ASCII格式显示数据包内容:

sudo tcpdump -i eth0 -X

指定捕获数据包的长度

使用 -s 选项指定捕获数据包的长度(默认是262144字节):

sudo tcpdump -i eth0 -s 0

限制捕获的数据包数量

使用 -c 选项限制捕获的数据包数量:

sudo tcpdump -i eth0 -c 10

显示详细信息

使用 -v-vv-vvv 选项显示更详细的信息:

sudo tcpdump -i eth0 -v

过滤表达式

tcpdump 支持多种过滤表达式,用于指定要捕获的数据包类型。以下是一些常见的过滤表达式:

  • host {host}:捕获与指定主机相关的数据包。
  • net {network}:捕获与指定网络相关的数据包。
  • port {port}:捕获与指定端口相关的数据包。
  • src {host}:捕获来自指定主机的数据包。
  • dst {host}:捕获发往指定主机的数据包。

可以组合多个过滤表达式以实现更复杂的过滤条件。例如:

sudo tcpdump -i eth0 src 192.168.1.1 and dst port 80

示例

捕获本地回环接口上的HTTP流量

sudo tcpdump -i lo port 80

捕获并保存所有流量到文件

sudo tcpdump -i eth0 -w all_traffic.pcap

读取并分析保存的流量文件

sudo tcpdump -r all_traffic.pcap

捕获来自特定主机的TCP流量,并以详细模式显示

sudo tcpdump -i eth0 tcp and src host 192.168.1.100 -vv

捕获特定时间段内的流量

使用 -G 选项每隔指定秒数旋转输出文件:

sudo tcpdump -i eth0 -w capture-%Y-%m-%d_%H:%M:%S.pcap -G 3600

总结

tcpdump 是一个功能强大的网络流量捕获和分析工具,可以帮助网络管理员和安全专家深入了解网络通信的细节。通过灵活使用各种选项和过滤表达式,你可以高效地捕获和分析所需的网络流量。在日常运维和故障排查中,tcpdump 是一种不可或缺的工具。

相关文章:

使用 tcpdump 进行网络流量捕获与分析

目录 安装 tcpdump基本用法捕获网络流量指定网络接口捕获特定主机的流量捕获特定端口的流量捕获特定协议的流量 常用选项保存捕获的数据包从文件读取数据包显示数据包内容指定捕获数据包的长度限制捕获的数据包数量显示详细信息过滤表达式 示例捕获本地回环接口上的HTTP流量捕获…...

k8s集群 安装配置 Prometheus+grafana

k8s集群 安装配置 Prometheusgrafana k8s环境如下:机器规划: node-exporter组件安装和配置安装node-exporter通过node-exporter采集数据显示192.168.40.180主机cpu的使用情况显示192.168.40.180主机负载使用情况 Prometheus server安装和配置创建sa账号&…...

【Java--数据结构】二叉树oj题(上)

前言 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 判断是否是相同的树 oj链接 要判断树是否一样,要满足3个条件 根的 结构 和 值 一样左子树的结构和值一样右子树的结构和值一样 所以就可以总结以下思路…...

微服务之间Feign调用

需使用的服务 FeignClient(name "rdss-back-service", fallback SysUserServiceFallback.class, configuration FeignConfiguration.class) public interface SysUserService {/*** 订单下单用户模糊查询*/GetMapping(value "/user/getOrderUserName")…...

【Qt】按钮的属性相关API

目录 一. QPushButton 二. QRadioButton 按钮组 三. QCheckBox Qt中按钮的继承体系如下图 QAbstractButton是一个抽象类,集成了按钮的核心属性和API 按钮说明QPushButton(普通按钮)最常见的按钮,用于触发操作或者事件。可以设…...

blender和3dmax和maya和c4d比较

Blender、3ds Max、Maya和Cinema 4D (C4D)都是强大的3D建模和动画软件,但它们各有特点和适用领域。以下是它们的比较: Blender: 开源免费全面的功能,包括建模、动画、渲染、视频编辑等学习曲线较陡峭,但社区支持强大适合独立艺术家…...

visio保存一部分图/emf图片打开很模糊/emf插入到word或ppt中很模糊

本文主要解决三个问题 visio保存一部分图 需求描述:在一个visio文件中画了很多个图,但我只想把其中一部分保存成某种图片格式,比如jpg emf png之类的,以便做后续的处理。 方法:超级容易。 选中希望保存的这部分图&…...

沙尘传输模拟教程(基于wrf-chem)

沙尘传输模拟教程(基于wrf-chem) 文章目录 沙尘传输模拟教程(基于wrf-chem)简介实验目的wrf-chem简介 软件准备wps、wrf-chem安装conda安装ncl安装ncap安装 数据准备气象数据准备下垫面数据准备 WPS数据预处理namelist.wps的设置geogrid.exe下垫面处理ungrib.exe气象数据预处理…...

使用 Python 进行测试(8)纯净测试

原文:Testing with Python (part 8): purity test 总结 如果你要使用综合测试(integrated tests): def test_add_new_item_to_cart(product, cart):new_product Product.objects.create(nameNew Product, price15.00)new_cart…...

python的tkinter、socket库开发tcp的客户端和服务端

一、tcp通讯流程和开发步骤 1、tcp客户端和服务端通讯流程图 套接字是通讯的利器,连接时要经过三次握手建立连接,断开连接要经过四次挥手断开连接。 2、客户端开发流程 1)创建客户端套接字 2)和服务端器端套接字建立连接 3&#x…...

Python面试题:Python中的异步编程:详细讲解asyncio库的使用

Python 的异步编程是实现高效并发处理的一种方法,它使得程序能够在等待 I/O 操作时继续执行其他任务。在 Python 中,asyncio 库是实现异步编程的主要工具。asyncio 提供了一种机制来编写可以在单线程内并发执行的代码,适用于 I/O 密集型任务。…...

【信号频率估计】MVDR算法及MATLAB仿真

目录 一、MVDR算法1.1 简介1.2 原理1.3 特点1.3.1 优点1.3.2 缺点 二、算法应用实例2.1 信号的频率估计2.2 MATLAB仿真代码 三、参考文献 一、MVDR算法 1.1 简介 最小方差无失真响应(Mininum Variance Distortionless Response,MVDR)算法最…...

HarmonyOS NEXT零基础入门到实战-第二部分

HarmonyOS NEXT零基础入门到实战-第二部分 Swiper 轮播组件 Swiper是一个 容器 组件,当设置了多个子组件后,可以对这些 子组件 进行轮播显示。(文字、图片...) 1、Swiper基本语法 2、Swiper常见属性 3、Swiper样式自定义 4、案例&…...

《小程序02:云开发之增删改查》

一、前置操作 // 一定要用这个符号包含里面的${}才会生效 wx.showToast({title: 获取数据成功:${colorLista}, })1.1:初始化介绍 **1、获取数据库引用:**在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用 cons…...

SQL执行流程、SQL执行计划、SQL优化

select查询语句 select查询语句中join连接是如何工作的? 1、INNER JOIN 返回两个表中的匹配行。 2、LEFT JOIN 返回左表中的所有记录以及右表中的匹配记录。 3、RIGHT JOIN 返回右表中的所有记录以及左表中的匹配记录。 4、FULL OUTER JOIN 返回左侧或右侧表中有匹…...

【前端】JavaScript入门及实战41-45

文章目录 41 嵌套的for循环42 for循环嵌套练习(1)43 for循环嵌套练习(2)44 break和continue45 质数练习补充 41 嵌套的for循环 <!DOCTYPE html> <html> <head> <title></title> <meta charset "utf-8"> <script type"…...

更加深入Mysql-04-MySQL 多表查询与事务的操作

文章目录 多表查询内连接隐式内连接显示内连接 外连接左外连接右外连接 子查询 事务事务隔离级别 多表查询 有时我们不仅需要一个表的数据&#xff0c;数据可能关联到俩个表或者三个表&#xff0c;这时我们就要进行夺标查询了。 数据准备&#xff1a; 创建一个部门表并且插入…...

基于最新版的flutter pointycastle: ^3.9.1的AES加密

基于最新版的flutter pointycastle: ^3.9.1的AES加密 自己添加pointycastle: ^3.9.1库config.dartaes_encrypt.dart 自己添加pointycastle: ^3.9.1库 config.dart import dart:convert; import dart:typed_data;class Config {static String password 成都推理计算科技; // …...

K8S内存资源配置

在 Kubernetes (k8s) 中&#xff0c;资源请求和限制用于管理容器的 CPU 和内存资源。配置 CPU 和内存资源时&#xff0c;使用特定的单位来表示资源的数量。 CPU 资源配置 CPU 单位&#xff1a;Kubernetes 中的 CPU 资源以 “核” (cores) 为单位。1 CPU 核心等于 1 vCPU/Core…...

【多任务YOLO】 A-YOLOM: You Only Look at Once for Real-Time and Generic Multi-Task

You Only Look at Once for Real-Time and Generic Multi-Task 论文链接&#xff1a;http://arxiv.org/abs/2310.01641 代码链接&#xff1a;https://github.com/JiayuanWang-JW/YOLOv8-multi-task 一、摘要 高精度、轻量级和实时响应性是实现自动驾驶的三个基本要求。本研究…...

数学建模--灰色关联分析法

目录 简介 基本原理 应用场景 优缺点 优点&#xff1a; 缺点&#xff1a; 延伸 灰色关联分析法在水质评价中的具体应用案例是什么&#xff1f; 如何克服灰色关联分析法在主观性强时的数据处理和改进方法&#xff1f; 灰色关联分析法与其他系统分析方法&#xff08;如A…...

NetSuite Saved Search迁移工具

我们需要在系统间迁移Saved Search&#xff0c;但是采用Copy To Account或者Bundle时&#xff0c;会有一些Translation不能迁移&#xff0c;或者很多莫名其妙的Dependency&#xff0c;导致迁移失败。因此&#xff0c;我们想另辟蹊径&#xff0c;借助代码完成Saved Search的迁移…...

Java IO模型深入解析:BIO、NIO与AIO

Java IO模型深入解析&#xff1a;BIO、NIO与AIO 一. 前言 在Java编程中&#xff0c;IO&#xff08;Input/Output&#xff09;操作是不可或缺的一部分&#xff0c;它涉及到文件读写、网络通信等方面。Java提供了多种类和API来支持这些操作。本文将从IO的基础知识讲起&#xff…...

《从C/C++到Java入门指南》- 9.字符和字符串

字符和字符串 字符类型 Java 中一个字符保存一个Unicode字符&#xff0c;所以一个中文和一个英文字母都占用两个字节。 // 计算1 .. 100 public class Hello {public static void main(String[] args) {char a A;char b 中;System.out.println(a);System.out.println(b)…...

Adobe国际认证详解-视频剪辑

在数字化时代&#xff0c;视频剪辑已成为创意表达和视觉传播的重要手段。随着技术的不断进步&#xff0c;熟练掌握视频剪辑技能的专业人才需求日益增长。在这个背景下&#xff0c;Adobe国际认证应运而生&#xff0c;成为全球创意设计领域的重要标杆。 Adobe国际认证是由Adobe公…...

昇思25天学习打卡营第19天|MindNLP ChatGLM-6B StreamChat

文章目录 昇思MindSpore应用实践ChatGML-6B简介基于MindNLP的ChatGLM-6B StreamChat Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 ChatGML-6B简介 ChatGLM-6B 是由清华大学和智谱AI联合研发的产品&#xff0c;是一个开源的、支持…...

.NET在游戏开发中有哪些成功的案例?

简述 在游戏开发的多彩世界中&#xff0c;技术的选择往往决定了作品的成败。.NET技术&#xff0c;以其跨平台的性能和强大的开发生态&#xff0c;逐渐成为游戏开发者的新宠。本文将带您探索那些利用.NET技术打造出的著名游戏案例&#xff0c;领略.NET在游戏开发中的卓越表现。 …...

搜维尔科技:我们用xsens完成了一系列高难度的运动项目并且捕获动作

我们用xsens完成了一系列高难度的运动项目并且捕获动作 搜维尔科技&#xff1a;我们用xsens完成了一系列高难度的运动项目并且捕获动作...

深入探讨:Node.js、Vue、SSH服务与SSH免密登录

在这篇博客中&#xff0c;我们将深入探讨如何在项目中使用Node.js和Vue&#xff0c;并配置SSH服务以及实现SSH免密登录。我们会一步步地进行讲解&#xff0c;并提供代码示例&#xff0c;确保你能轻松上手。 一、Node.js 与 Vue 的结合 1.1 Node.js 简介 Node.js 是一个基于 …...

Unity UGUI 之 Toggle

​本文仅作学习笔记与交流&#xff0c;不作任何商业用途本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正​ 1.什么是Toggle&#xff1f; Unity - Manual: Toggle 带复选框的开关&#xff0c;可…...

免费网站系统/我想做网络推广

摘要&#xff1a;在国内7个城市启动建设后&#xff0c;中国人工智能技术受邀参与国外的城市治理。 1月29日&#xff0c;马来西亚数字经济发展机构&#xff08;MDEC&#xff09;和吉隆坡市政厅&#xff08;DBKL&#xff09;联合宣布引入阿里云ET城市大脑&#xff0c;人工智能将全…...

rewrite.php wordpress 缓存 固定连接/销售新手怎么找客源

点 击 关 注 上 方&#xff02;两猿社&#xff02;设 为&#xff02;置 顶 或 星 标&#xff02;&#xff0c;干 货 第 一 时 间 送 达。互 联 网 猿 | 两 猿 社基础知识日志&#xff0c;由服务器自动创建&#xff0c;并记录运行状态&#xff0c;错误信息&#xff0c;访问数据的…...

越南网站怎么做/培训

2019独角兽企业重金招聘Python工程师标准>>> package com.ccsu.common.filter;import com.ccsu.common.constants.SessionConstants; import com.ccsu.entity.userSystem.User; import com.ccsu.util.userSystem.ProsReader; import org.slf4j.Logger; import org.s…...

如何建设网站安全管理制度/主流搜索引擎有哪些

中国麻将机行业风云变幻&#xff0c;群英汇聚&#xff0c;历经十余载&#xff0c;有的早已黯然退出了历史舞台&#xff0c;有的也奄奄一息&#xff0c;有的却依然风光无限。国人爱休闲&#xff0c;就离不开麻将&#xff0c;数人相聚&#xff0c;而行方城之戏。日出三竿&#xf…...

ps做图下载网站有哪些/谷歌浏览器安卓下载

1.Idea导出自己设置好的主题 1.1.File–>Export Setting … 2.导入主题 导入文件即可&#xff0c;这个时候&#xff0c;导入成功&#xff0c;需要重启一下idea&#xff1b; 我的自己设置的绿豆色&#xff08;护眼&#xff09;的主题背景链接地址如下&#xff0c;如果大家喜…...

艺术设计教学资源网站建设标准/世界球队最新排名

一、处理JSON 1、将JavaScript数据转换为JSON对象(序列化) JSON.stringify(Object)2、将JSON数据转换为JavaScript对象&#xff08;逆序列化&#xff09; JSON.parse(stringJSON)二、Buffer模块缓冲数据(使用两位16进制表示一字节) 1、创建缓冲区 Buffer.from(array): returns …...