TCPDump协议分析工具

TCPDump协议分析工具

TCPDump是一个强大的命令行工具,用于捕获和分析网络数据包。它能够实时监控和记录网络流量,帮助网络管理员和安全专家排查网络问题、分析流量和检测网络攻击。以下是TCPDump的详细介绍,包括其安装、基本使用、过滤规则和常见示例。

一、TCPDump的安装

  1. 在Debian/Ubuntu上安装

    sudo apt update
    sudo apt install tcpdump
    
  2. 在CentOS/RHEL上安装

    sudo yum install tcpdump
    
  3. 在macOS上安装(通过Homebrew)

    brew install tcpdump
    

二、TCPDump的基本使用

  1. 捕获网络数据包

    sudo tcpdump
    
  2. 指定网络接口

    sudo tcpdump -i eth0
    
  3. 捕获并保存数据包到文件

    sudo tcpdump -i eth0 -w capture.pcap
    
  4. 从文件读取数据包

    sudo tcpdump -r capture.pcap
    

三、TCPDump过滤规则

TCPDump使用表达式过滤网络流量,只捕获与条件匹配的数据包。过滤规则可以基于协议、IP地址、端口等。

  1. 过滤特定主机

    sudo tcpdump host 192.168.1.1
    
  2. 过滤特定网络

    sudo tcpdump net 192.168.1.0/24
    
  3. 过滤特定端口

    sudo tcpdump port 80
    
  4. 过滤特定协议

    sudo tcpdump tcp
    sudo tcpdump udp
    sudo tcpdump icmp
    
  5. 组合过滤条件

    sudo tcpdump 'src 192.168.1.1 and dst port 80'
    sudo tcpdump 'tcp and (port 80 or port 443)'
    

四、TCPDump常见示例

  1. 捕获所有HTTP流量

    sudo tcpdump -i eth0 'tcp port 80'
    
  2. 捕获所有HTTPS流量

    sudo tcpdump -i eth0 'tcp port 443'
    
  3. 捕获所有ICMP流量

    sudo tcpdump -i eth0 icmp
    
  4. 捕获来自特定IP地址的流量

    sudo tcpdump -i eth0 src 192.168.1.100
    
  5. 捕获发往特定IP地址的流量

    sudo tcpdump -i eth0 dst 192.168.1.100
    
  6. 捕获并解析DNS查询

    sudo tcpdump -i eth0 -n udp port 53
    
  7. 显示数据包的详细信息

    sudo tcpdump -i eth0 -vv
    
  8. 显示数据包的十六进制和ASCII形式

    sudo tcpdump -i eth0 -X
    

五、TCPDump高级用法

  1. 限制捕获数据包的数量

    sudo tcpdump -i eth0 -c 10
    
  2. 指定捕获的数据包大小

    sudo tcpdump -i eth0 -s 0
    
  3. 捕获数据包并添加时间戳

    sudo tcpdump -i eth0 -tttt
    
  4. 捕获数据包并只显示头部信息

    sudo tcpdump -i eth0 -q
    
  5. 基于数据包内容进行过滤

    sudo tcpdump -i eth0 'tcp[13] == 0x02'
    

六、TCPDump分析实例

  1. 分析HTTP GET请求

    • 命令
      sudo tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
      
    • 解释:捕获并显示所有HTTP GET请求的数据包内容。
  2. 分析SYN扫描

    • 命令
      sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) == 0'
      
    • 解释:捕获并显示所有TCP SYN扫描的数据包。
  3. 分析DNS查询和响应

    • 命令
      sudo tcpdump -i eth0 -nn -vvv 'udp port 53'
      
    • 解释:捕获并详细显示所有DNS查询和响应的数据包。

七、TCPDump常用选项

  • -i:指定网络接口。
  • -w:将捕获的数据包写入文件。
  • -r:从文件读取数据包。
  • -s:指定捕获的数据包大小。
  • -c:限制捕获的数据包数量。
  • -v:详细输出。
  • -vv:更详细的输出。
  • -vvv:最详细的输出。
  • -X:以十六进制和ASCII形式显示数据包内容。
  • -A:以ASCII形式显示数据包内容。
  • -tttt:显示带有日期和时间戳的数据包。

总结

TCPDump是一个功能强大且灵活的网络协议分析工具,广泛应用于网络故障排查、流量分析和安全监控。通过掌握TCPDump的基本使用、过滤规则和高级用法,网络管理员和安全专家可以有效地捕获和分析网络流量,检测和响应各种网络问题和安全威胁。

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

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

相关文章

YOWOv2(yowov2)动作识别+Fastreid身份识别 详细安装与实现

首先yowov2是一款简单且实时的时空动作检测方案&#xff0c;fastreid是行人重识别&#xff08;身份识别&#xff09; yowov2介绍链接直达fastreid链接直达为时空动作检测任务设计实时框架仍然是一个挑战。YOWOv2 提出了一种新颖的实时动作检测框架&#xff0c;利用三维骨干和二…

【Js】导出 HTML 为 Word 文档

在 Web 开发中&#xff0c;有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档&#xff0c;以便更方便地分享和打印。 html样式 word文档 工具准备 1、 html-docx-js - npm html-docx-js是一个 JavaScript 库&#xff0c;用于将 HTML 内容转换为 Word 文档的格式。它…

在Linux系统实现瑞芯微RK3588部署rknntoolkit2进行模型转换

一、首先要先安装一个虚拟的环境 安装Miniconda包 Miniconda的官网链接:Minidonda官网 下载好放在要操作的linux系统,我用的是远程服务器的linux系统,我放在whl这个文件夹里面,这个文件夹是我自己创建的 运行安装 安装的操作都是yes就可以了 检查是否安装成功,输入下面…

【CEEMDAN-VMD-CNN-LSTM】双重分解+卷积神经网络+长短期记忆神经网络多变量回归预测,多变量输入模型

双重分解&#xff08;Dual Decomposition&#xff09;、卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;和长短期记忆神经网络&#xff08;Long Short-Term Memory&#xff0c;LSTM&#xff09;结合的多变量回归预测需要详细的实现和数据情况…

【香菇带你学Linux】Linux环境下gcc编译安装【建议收藏】

文章目录 0. 前言1. 安装前准备工作1.1 创建weihu用户1.2 安装依赖包1.2.1 安装 GMP1.2.2 安装MPFR1.2.3 安装MPC 2. gcc10.0.1版本安装3. 报错解决3. 1. wget下载报错 4. 参考文档 0. 前言 gcc&#xff08;GNU Compiler Collection&#xff09;是GNU项目的一部分&#xff0c;…

埋点系统如何统计用户的平均停留时长?

Hello&#xff0c;大家好&#xff0c;欢迎使用Webfunny前端监控和埋点系统。 今天&#xff0c;我们将介绍webfunny的埋点系统如何统计用户的平均停留时长 一、页面beforeLeave事件 当你页面离开的时候&#xff0c;会触发一个心跳检测&#xff0c;但是这个可能不是100%触发&am…

各向异性含水层中地下水三维流基本微分方程的推导(二)

各向异性含水层中地下水三维流基本微分方程的推导 参考文献&#xff1a; [1] 刘欣怡,付小莉.论连续性方程的推导及几种形式转换的方法[J].力学与实践,2023,45(02):469-474. 书接上回&#xff1a; 我们能得到三个方向的流入流出平衡方程&#xff1a; ∂ ρ u x ∂ x d x d y d…

Linux 下 redis 集群部署

目录 1. redis下载 2. 环境准备 3. redis部署 3.1 修改系统配置文件 3.2 开放端口 3.3 安装 redis 3.4 验证 本文将以三台服务器为例&#xff0c;介绍在 linux 系统下redis的部署方式。 1. redis下载 下载地址&#xff1a;Index of /releases/ 选择需要的介质下载&am…

【常见开发问题】阿里云无法登录的问题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【Python 项目】类鸟群:仿真鸟群

类鸟群&#xff1a;仿真鸟群 仔细观察一群鸟或一群鱼&#xff0c;你会发现&#xff0c;虽然群体由个体生物组成&#xff0c;但该群体作为一个整体似乎有它自己的生命。鸟群中的鸟在移动、飞越和绕过障碍物时&#xff0c;彼此之间相互定位。受到打扰或惊吓时会破坏编队&#xf…

35 解决单条链路故障问题-华三链路聚合

InLoopBack接口是一种虚拟接口。InLoopBack接口由系统自动创建&#xff0c;用户不能进行配置和删除&#xff0c;但是可以显示&#xff0c;其物理层和链路层协议永远处于up状态。InLoopBack接口主要用于配合实现报文的路由和转发&#xff0c;任何送到InLoopBack接口的IP报文都会…

【MySQL 进阶】MySQL 程序 -- 详解

一、MySQL 程序简介 MySQL 安装完成通常会包含如下程序&#xff1a; 1、Linux 系统 程序⼀般在 /usr/bin 目录下&#xff0c;可以通过命令查看&#xff1a; 2、Windows系统 目录&#xff1a;你的安装路径\MySQL Server 8.0\bin&#xff0c;可以通过命令查看&#xff1a; 可…

树莓派PICO使用INA226测量电流和总线电压(2)

上一篇文章里&#xff0c;我们讲了如何设置配置寄存器&#xff08;0x01&#xff09;&#xff0c;在测量电流之前&#xff0c;还需要设置校准寄存器&#xff08;0x05&#xff09;&#xff0c;校准寄存器非常关键&#xff0c;如果不设置这个寄存器&#xff0c;INA226是不会工作的…

搜索引擎中的相关性模型

一、什么是相关性模型&#xff1f; 相关性模型主要关注的是query和doc的相关性。例如给定query&#xff0c;和1000个doc&#xff0c;找到哪个doc是好query最相关的。 二、为什么需要相关性模型&#xff1f; 熟悉es的应该都熟悉BM25相关性算法。它是一个很简单的相关性算法。我…

SpringBoot+Vue(2)excel后台管理页面

一、需求 SpringBootVue写excel后台管理页面&#xff08;二级页面打开展示每一个excel表&#xff0c;数据库存储字段为“下载、删除、文件详情、是否共享、共享详情”&#xff09; 二、解答 后端(Spring Boot) 1. 项目设置 使用Spring Initializr创建一个新的Spring Boot项目…

深度学习5 神经网络

生物神经网络是指人的大脑&#xff0c;这是人工神经网络的技术原型。根据生物神经网络的原理&#xff0c;人们用计算机复现了简化的神经网络。当然&#xff0c;人工神经网络是机器学习的一大分支。 1.基本组成 1.1神 经 元 神经元是神经网络的基本组成。激活函数又称作激励函…

计算机的错误计算(三十)

摘要 回复网友就计算机的错误计算&#xff08;二十八&#xff09;提出的 3个疑问&#xff1a;为什么 exp(4.567) 有 2位错误数字&#xff1f;不应该是1位么&#xff1f;Excel 的输出中有错误数字&#xff0c;如何证明&#xff1f; 正确结果由 ISReal 软件 提供&#xff1f; 就…

如何在 Android Studio 中导出并在 IntelliJ IDEA 中查看应用的 SQLite 数据库

在 Android 应用开发过程中&#xff0c;调试和查看应用内的数据库内容是常见的需求。本文将介绍如何使用 Android Studio 导出应用的 SQLite 数据库&#xff0c;并在 IntelliJ IDEA 中查看该数据库。 步骤一&#xff1a;在设备上运行您的应用 首先&#xff0c;确保您的应用已…

视频播放器的问题

<template><div class"app-container"><el-form :model"queryParam" ref"queryForm" :inline"true"><el-form-item label"题目ID&#xff1a;"><el-input v-model"queryParam.id" cle…

2-33 基于matlab的用于计算无故障的斜齿轮对啮合时接触线长度随时间的变化

基于matlab的用于计算无故障的斜齿轮对啮合时接触线长度随时间的变化&#xff0c;根据需求设置斜齿轮对的相应参数&#xff0c;得到结果。程序已调通&#xff0c;可直接运行。 2-33 斜齿轮对啮合时接触线长度 齿轮参数 - 小红书 (xiaohongshu.com)