网络分析工具:tcpdump 安装与使用

tcpdump 是一个强大的命令行网络分析工具,广泛用于捕获网络上传输的数据包。是分析网络流量情况,排查网络问题、分析协议的交互以及网络安全监控的常用工具

基础使用

安装 tcpdump

在大多数 Linux 发行版中,tcpdump 已经预装。如果没有,可以通过包管理器安装:

  • 在 Debian/Ubuntu 系统上:

    sudo apt-get install tcpdump
    
  • 在 CentOS/RHEL 系统上:

    sudo yum install tcpdump
    
  • 在 macOS 上,tcpdump 通常已预装,如果需要更新或重新安装,可以使用 Homebrew:

    brew install tcpdump
    
基本命令
  • 捕获所有接口的数据包

    sudo tcpdump
    

    这会显示所有接口上的数据包,通常输出会非常快,不易阅读。

  • 指定网络接口抓包

    sudo tcpdump -i eth0
    

    -i 选项指定接口(如 eth0)。如果不确定接口名称,可以用 ip addr 命令查看。

  • 保存捕获的数据包到文件

    sudo tcpdump -w myfile.pcap
    

    使用 -w 选项将捕获的数据保存到文件中,方便后续使用 Wireshark 等工具进行分析。

  • 从文件中读取数据包

    tcpdump -r myfile.pcap
    

    使用 -r 选项从文件中读取数据包。

进阶使用

过滤表达式

tcpdump 强大之处在于其过滤表达式,可以精确指定需要捕获的数据包类型:

  • 捕获特定主机的数据包

    sudo tcpdump host 192.168.1.1
    

    只捕获所有发送到或来自 IP 地址为 192.168.1.1 的数据包。

  • 捕获特定协议的数据包

    sudo tcpdump icmp
    

    这条命令捕获所有 ICMP 数据包,例如 ping 请求。

  • 组合条件

    sudo tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
    

    这个复杂的表达式用来捕获所有 TCP 端口为 80 且含有数据(非 SYN、FIN 等控制包)的数据包。

  • 排除特定主机的流量

    sudo tcpdump not host 192.168.1.1
    

    捕获所有不是发送到或来自 192.168.1.1 的数据包。

性能优化
  • 限制捕获的数据包数量

    sudo tcpdump -c 100
    

    使用 -c 选项限制捕获的数据包数量,这里设置为 100。

  • 使用缓冲区来提高捕获效率

    sudo tcpdump -B 4096
    

    使用 -B 选项增大内核缓冲区的大小(以千字节为单位),这里设置为 4096 KB,有助于在高流量环境下不丢包。

示例应用场景

  1. 网络故障排查
    sudo tcpdump -i eth0 -nn 'tcp port 443'
    
    捕获所有通过 eth0 接口的 HTTPS 流量,不解析主机名

和服务名(使用 -nn),有助于快速定位与 HTTPS 服务相关的问题。

  1. 安全监控
    sudo tcpdump -i eth0 'src host 192.168.1.1 and not dst net 192.168.1.0/24'
    
    捕获从 IP 192.168.1.1 发出且不是发往本地网络的所有数据包,用于检测可能的数据泄露或不寻常的外发连接。

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

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

相关文章

微服务项目实战-黑马头条(八):App端-文章ES搜索、MongoDB搜索记录和关键词联想

文章目录 一、今日内容介绍1.1 App端搜索-效果图1.2 今日内容 二、搭建ElasticSearch环境2.1 拉取镜像2.2 创建容器2.3 配置中文分词器 ik2.4 使用postman测试 三、app端文章搜索3.1 需求分析3.2 思路分析3.3 创建索引和映射3.4 数据初始化到索引库3.4.1 导入es-init到heima-le…

【七】jmeter5.5+influxdb2.0+prometheus+grafana

参考文章&#xff1a;https://blog.csdn.net/wenxingchen/article/details/126892890 https://blog.csdn.net/Zuo19960127/article/details/119726652 https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考 由于自己下载的是infuldb2.0&#xff0c;所以按照…

grafana报错This panel requires Angular (deprecated)

1.原因 报错解释&#xff1a; Grafana在更新到7.0版本后&#xff0c;弃用了AngularJS&#xff08;一种用于构建大型Web应用的JavaScript框架&#xff09;。在早期的Grafana版本中&#xff0c;某些面板可能依赖于AngularJS&#xff0c;但这种依赖已经逐步被新的React或Vue面板所…

docker 故障解决

现象1: docker-compose up -d ERROR: failed to register layer: open /var/lib/docker/overlay2/dc1e26ac60d8b2ede5c4087d1b570407d5b056c13d86c0689799597217e174cc/committed: no such file or directory 解决办法: service docker stop service docker start 不管用。…

解决apt-get的/var/lib/dpkg/lock-frontend问题

在使用 apt-get 命令时&#xff0c;如果出现 /var/lib/dpkg/lock-frontend 锁定问题&#xff0c;这意味着已经有其他进程在使用 apt 系统。这可能是因为你在另一个终端窗口或会话中运行了 apt 命令&#xff0c;或者有其他软件包管理器正在运行。 要解决这个问题&#xff0c;你…

智慧安防视频监控EasyCVR视频汇聚平台无法自动播放视频的原因排查与解决

国标GB28181协议EasyCVR安防视频监控平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流…

Esp8266 - USB开关分享(开源)

文章目录 简介推广自己gitee项目地址:嘉立创项目地址&#xff1a;联系我们 功能演示视频原理图嘉立创PCB开源地址原理图PCB预览 固件烧录代码编译烧录1. 软件和驱动安装2. 代码编译1. 安装所需要的依赖库文件2. 下载源代码3. 烧录代码 使用说明1. 设备配网2. 打开设备操作页面3…

状态后端的选择,真实业务场景使用File system?还是使用RocksDB?

1.状态、状态后端、Checkpoint的区别和关系&#xff1f; &#xff08;1&#xff09;状态&#xff1a;状态的本质是数据&#xff1b; &#xff08;2&#xff09;状态后端&#xff1a;存储状态的方式&#xff0c;比如说Memory、filesystem、Rocksdb三种状态后端来存储的状态。 …

STM32 I²C通信

一、IC总线通信 1.1 IC总线特点 IC&#xff08;Inter Integrated Circuit&#xff0c;集成电路总线&#xff09;&#xff0c;通过串行数据线SDA&#xff08;Serial Data&#xff09;和串行时钟线SCL&#xff08;Serial Clock&#xff09;来完成数据的传输。 特点&#xff1a;…

深度学习-数据预处理

目录 创建一个人工数据集处理缺失的数据插入对inputs中的类别值或离散值&#xff0c;将NaN视为一个类别对inputs和outputs中的数值类型转换为张量格式 创建一个人工数据集 import os import pandas as pd os.makedirs(os.path.join(.., data), exist_okTrue) data_file os.p…

ESP-IDF下载与安装完整流程

本文主要看参考官网说明&#xff0c;如下&#xff1a; Windows 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 latest 文档 (espressif.com) 一、概述 ESP-IDF需要安装一些必备工具&#xff0c;才能围绕ESP32构建固件&#xff0c;包括&#xff1a; PythonGit交叉编译…

Docker搭建Maven仓库Nexus

文章目录 一、简介二、Docker部署三、仓库配置四、用户使用Maven五、管理Docker镜像 一、简介 Nexus Repository Manager&#xff08;简称Nexus&#xff09;是一个强大的仓库管理器。 Nexus3支持maven、docker、npm、yum、apt等多种仓库的管理。 建立了 Maven 私服后&#xf…

【JAVA】UDP与TCP套接字编程

目录 一、UDP数据报套接字编程 1、DatagramSocket API 2、DatagramPacket API 3、InetSocketAddress API 4、示例一 5、示例二 二、TCP流套接字编程 1、ServerSocket API 2、Socket API 3、TCP中的长短连接 4、示例一 5、示例二 一、UDP数据报套接字编程 1、Datag…

让网页自适应各种设备技巧集合总结

文章目录 一、使用流式布局二、使用媒体查询三、使用REM或EM单位四、使用Flexbox布局五、图片自适应 一、使用流式布局 流式布局是一种相对单位的布局方式&#xff0c;它使用相对于视口宽度的百分比来定义元素的尺寸和位置&#xff0c;从而使得页面能够根据不同的屏幕尺寸进行…

图像处理之模板匹配(C++)

图像处理之模板匹配&#xff08;C&#xff09; 文章目录 图像处理之模板匹配&#xff08;C&#xff09;前言一、基于灰度的模板匹配1.原理2.代码实现3.结果展示 总结 前言 模板匹配的算法包括基于灰度的匹配、基于特征的匹配、基于组件的匹配、基于相关性的匹配以及局部变形匹…

第48期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

Linux--内核移植(二)移植流程及驱动修改

本文来总结一下如何将 NXP 官方提供的 Linux 内核移植到正点原子的 I.MX6U-ALPHA 开发板上。 一、官方开发板内核测试 NXP 提供的 Linux 源码肯定是可以在自己的 I.MX6ULL EVK 开发板上运行下去的&#xff0c;所以我们肯定是以 I.MX6ULL EVK 开发板为参考&#xff0…

的记忆:pandas(实在会忘记,就看作是一个 Excel 表格,或者是 SQL 表,或者是字典的字典。)

pandas 是一个开源的 Python 数据分析库&#xff0c;它提供了快速、灵活和富有表现力的数据结构&#xff0c;旨在使“关系”或“标记”数据的“快速分析、清洗和转换”变得既简单又直观。pandas 非常适合于数据清洗和转换、数据分析和建模等任务。以下是 pandas 的基本概念和主…

简化图卷积 笔记

1 Title Simplifying Graph Convolutional Networks&#xff08;Felix Wu、Tianyi Zhang、Amauri Holanda de、 Souza Jr、Christopher Fifty、Tao Yu、Kilian Q. Weinberger&#xff09;【ICML 2019】 2 Conclusion This paper proposes a simplified graph convolutional m…

第100+6步 ChatGPT文献复现:ARIMAX预测新冠

基于WIN10的64位系统演示 一、写在前面 我们继续来解读ARIMAX模型文章&#xff0c;这一轮带来的是&#xff1a; 《PLoS One》杂志的2022年一篇题目为《A data-driven eXtreme gradient boosting machine learning model to predict COVID-19 transmission with meteorologic…