深入解析:Linux tcpdump命令在网络流量分析中的实战应用

        tcpdump是一个强大的命令行工具,用于捕获和分析TCP、UDP、ICMP等协议的网络流量。

功能与用途

  1. 捕获网络流量:tcpdump可以捕获和显示来自本地计算机或通过网络传输的数据包,提供有关数据包的详细信息,如源和目的IP地址、端口号、协议类型、数据长度等。
  2. 分析数据包:通过捕获的数据包,tcpdump可以帮助用户分析网络问题,如延迟、丢包、重传等,对于网络调试、安全审计和性能优化等方面非常有用。
  3. 过滤功能:tcpdump支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助用户去掉无用的信息,专注于分析特定类型的流量。

软件安装

yum install -y tcpdump         #centos系统
apt-get install -y tcpdump     #ubuntu系统

语法格式及常用选项

tcpdump[ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen] [ -T 类型 ] [ -w 文件名 ] [表达式 ]
文件操作参数

参数

描述

-nn

直接以IP及port号码显示,而非显示主机名与服务名称

-w

将监听所得到的数据包内容存储下来,输出结果至文件

-W

指定输出文件的最大数量,到达后会重新覆写第1个文件

-r

读取一个抓包文件

-C

限制输入文件的大小,超出以后后缀加1等数字的形式递增,注意单位是1000000字节

-G

指定每隔N秒就重新输出至新文件,注意-w参数应该基于strftime参数指定文件名

监听及停止条件参数

参数

描述

-D

列举所有网卡设备

-i

后面接要监听的网络接口设备,例如eth0、lo、ppp0等的界面

-c

监听的数据包数,如果没有这个参数,tcpdump会持续不断监听

-s

指定每条报文的最大字节数,默认是262144字节,可以设置大小

–time-stamp-precision

制定捕获时的时间精度,默认是毫秒级micro,可选选择纳秒nano

输出时间戳格式参数

参数

描述

-t

不显示时间戳

-tt

自1970年1月1日0点至今的秒数

-ttt

显示邻近两行报文间经过的秒数

-tttt

自第一个监听的报文起经历的秒数

分析信息详情参数据

参数

描述

-e

使用数据链路层(OSI第二层)的MAC数据包数据来显示

-q

仅列出较为简单的数据包信息,每一行的内容比较精简

-v

显示网络层头部更多的信息,如TTL、id等

-n

显示IP地址、数字端口代替hostname等

-S TCP

信息以绝对序列号代替相对序列号

-A

数据包的内容以ASCII格式显示,通常用来监听WWW网页数据包数据

-x

以16进制方式显示报文内容,不显示数据链路层

-xx

以16进制方式显示报文内容,显示数据链路层

-X

可以列出十六进制(hex)以及ASCII的数据包内容,不显示数据链路层

-XX

可以列出十六进制(hex)以及ASCII的数据包内容,显示数据链路层

参考例子

1、查看本机全部网卡信息

如果我们想快速查看本机全部网卡设备信息,使用tcpdump代替ifconfig会更加高效,包括网桥设备(br0、docker0)、虚拟机网卡(virbr0)、蓝牙网卡(bluetooth0)、usb总线接口(usbmon1、usbmon2)、本机网卡(ens33)、回环地址(lo)等常见设备信息,系统对查询出的全部网卡接口设备进行编号。

tcpdump -D

2、监听指定网卡的数据包信息

监听ens33网卡上的全部网络数据包,需要显示IP及PORT号码,持续收到6条数据包以后自动停止

tcpdump -i ens33 -nn -c 6

3、将监听的数据包数据保存至文件

使用tcpdump监听经过ens33网卡的数据包,将数据包每隔3秒时长写入一个特定格式文件(文件生成格式定义为def%M-%S),并且读取其中一个生成文件的内容

tcpdump -i ens33 -G 3 -w def%M-%S

ll def*

tcpdump -r def04-11

tcpdump条件表达式详解

主机过滤

host、src host、dst host:设置主机、来源主机、目的主机作为过滤条件,

例如:tcpdump -nn host 192.168.31.101 代表过滤指定主机IP地址的网络数据包。

网络过滤

net、src net、dst net: 设置网段、来源网段、目的网段作为过滤条件,

例如:tcpdump net -nn 192.168.0.0 代表过滤指定网段的网络数据包

端口过滤

port、src port、dst port、portrange:设置端口、来源端口、目的端口、端口范围作为过滤条件,

例如:tcpdump -nn dst port 80 代表过滤从目的端口80发来的网络数据包

协议过滤

可以指定网络协议类型,包括ether、fddi、tr、wlan、ip、ip6、arp、rarp、tcp、udp、icmp、igmp、icmp、igrp、pim、ah、esp、vrrp等,

例如:tcpdump -nn icmp or tcp 代表过滤icmp协议或者tcp协议数据包。

逻辑表达式过滤

and(&&)、or(||)、not(!): 分别代表并且、或者、非逻辑运算,

例如:tcpdump ‘src host 192.168.31.101 and dst port 8080’ 代表监听源IP是192.168.31.101主机发送给目的端口8080的所有数据包。

特定状态过滤

tcp[tcpflas]: 按照tcp指定状态标志位进行过滤,

例如: tcpdump -i eth0 -nn ‘tcp[tcpflags] == tcp-syn or tcp[tcpflags] == tcp-ack’ 代表希望同时捕获syn类型和ack类型的数据包

综合

如何使用tcpdump命令实现如下监控目标:1.监听来自ens33网卡数据,通信协议为port 22,目标数据包来源为192.168.31.101的数据包,请给出正确答案。

tcpdump -i eth0 -nn ‘port 22 and src 192.168.1.101’

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

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

相关文章

Python正则表达式(re模块)的正确匹配详解

基本匹配及一些符号的特定含义 正则表达式是用于处理文本的强大工具,在Python中通过 re 模块来使用。 基本匹配 - 首先要导入 re 模块。例如,要在字符串中查找简单的单词 apple ,可以这样写: import re text "I have an a…

flutter集成极光推送

一、简述 极光推送,英文简称 JPush,免费的第三方消息推送服务,官方也推出众多平台的SDK以及插件。 参考链接 名称地址客户端集成插件客户端集成插件 - 极光文档 二、操作步骤 2.1 添加插件 flutter项目中集成官方提供的 极光推送flutte…

能源管理系统

一、介绍 基于SpringCloud的能管管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 二、软件架构 二、功能介绍 三、数字大屏展示 四、数据采集原理 五、软件截图

小渡Al论文写作:50个GPT学术指令——1天搞定1篇论文

选题与研究方向 假设你是某高校某专业的教授,请根据我感兴趣的研究方向,为我提供10个新颖且有研究意义的论文选题。我对某个选题感兴趣,请列举几个该领域当前的研究热点和争议点供我选择。假设我是某专业本科生/研究生,请为我提供…

springboot集成pdfbox解析pdf文件

springboot集成pdfbox解析pdf文件 1、引入依赖2、获取PDF文件3、获取需要的字段信息4、获取多字段时&#xff0c;步骤3需要优化&#xff0c;以下为优化后代码 1、引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</a…

iconfont图标放置在某个元素的最右边

在网页设计中&#xff0c;如果你想要将iconfont图标放置在某个元素的最右边&#xff0c;你可以通过CSS来实现这个布局。以下是一些基本的CSS代码示例&#xff0c;它们可以帮助你根据不同的布局需求将图标放置在最右边&#xff1a; 内联元素&#xff08;如<span>&#xff…

perl读取目录,写入文件

perl读取目录&#xff0c;写入文件 此脚本有两个输入参数&#xff0c;第一个参数为需要打印的文件目录&#xff0c;第二个参数为打印后的文件名&#xff1b; 该脚本名称为out_file_full_path #!/bin/perluse 5.010; my $dir $ARGV[0]; # 此为第一个参数&#xff1b; opendi…

Unreal Engine5安装Niagara UI Renderer插件

系列文章目录 文章目录 系列文章目录前言一、如何下载安装Niagara UI Renderer插件 前言 在2024.10.24号的今天发现unreal engine官网已经没有虚幻商城了&#xff0c;取而代之的是FAB ‌虚幻商城已经停止运营&#xff0c;Epic Games推出了新的数字资产商店FAB。‌ Epic Games…

Python URL编码

在 Python 中&#xff0c;可以使用 urllib.parse模块对 URL 进行编码。 一、依赖安装 pip install urllib 二、URL编码 from urllib.parse import quoteurl rhttps://myshop.com/shop/shopList?query query {"id":14,"pageSize":10,"pageNum&quo…

【论文+源码】基于SSM+VUE的大学生兼职管理系统

创建一个大学生兼职管理系统&#xff0c;结合 SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架和 Vue.js 前端框架&#xff0c;可以分为几个主要步骤来实现。 第一部分&#xff1a;环境准备 1. 开发环境准备 Java JDK&#xff1a;确保已安装 Java 8 或更高版本。…

2024软考网络工程师笔记 - 第8章.网络安全

文章目录 网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型3️⃣安全目标与技术 &#x1f551;现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 &#x1f552…

从0开始深度学习(19)——参数管理

在选择了模型架构&#xff0c;并设置了超参数之后&#xff0c;就进入了训练阶段&#xff0c;此时&#xff0c;我们的目标是找到使损失函数最小化的模型参数值。 经过训练后&#xff0c;我们将需要使用这些参数来做出未来的预测。 此外&#xff0c;有时我们希望提取参数&#xf…

电子商务类型

常见电子商务类型及其代表性的例子&#xff1a; B2B&#xff08;Business to Business&#xff09; 定义&#xff1a;B2B 模式是指企业与企业之间的商业交易。在这种模式下&#xff0c;企业通过电子商务平台相互提供产品或服务。 特点&#xff1a; 大宗交易&#xff1a;通常…

数据结构 ——— 顺序表和链表的区别以及各自的优缺点

目录 顺序表和链表的区别 一、存储空间上 二、下标的随机访问 三、任意位置插入或者删除元素 四、添加数据 五、应用场景 六、缓存利用率 顺序表和链表的优缺点 顺序表的缺点 链表的优点&#xff08;和顺序表的缺点对应&#xff09; 顺序表的优点 链表的缺点&#…

背包九讲——完全背包问题

目录 完全背包问题 问题定义 动态规划解法 状态转移方程 初始化 遍历顺序 三种解法&#xff1a; 朴素版——枚举k 进阶版——dp正推&#xff08;一维滚动数组&#xff09; 背包问题第三讲——完全背包问题 背包问题是一类经典的组合优化问题&#xff0c;通常涉及在限定…

简介openwrt系统下/etc/config/network文件生成过程

openwrt的network文件&#xff0c;或者说在/etc/config下的文件&#xff0c;都是动态生成的。 脚本的函数定义在package/base-files/files/lib/functions中&#xff0c;有以下几个文件&#xff1a; libraSVN:~/Wang_SP4/openwrt-d03dc49/package/base-files/files/lib/functi…

【Linux笔记】Linux命令与使用

博文将不断学习补充 学习参考博文&#xff1a; Linux命令大全&#xff1a;掌握常用命令&#xff0c;轻松使用Linux操作系统-CSDN博客 文件或目录操作命令 zip # zip是使用最多的文档压缩格式 # 方便跨平台使用&#xff0c;但是压缩率不是很高 zip指令未安装 安装zip yum ins…

python实战项目47:Selenium采集百度股市通数据

python实战项目47:Selenium采集百度股市通数据 一、思路分析二、完整代码一、思路分析 这里以获取百度股市通股评下的投票数据为例,页面中的其他数据同理。由于此页面数据是js动态加载的,所以采用Selenium获取数据。思路很简单,通过Selenium打开页面,然后定位到“股评”选…

Python闭包和修饰器

Python闭包和装饰器详解 1. 闭包&#xff08;Closure&#xff09; 闭包是Python中一个重要的概念&#xff0c;涉及嵌套函数和变量的作用域。 概念&#xff1a; 内外函数嵌套&#xff1a;闭包的形成通常涉及到一个外部函数和一个内部函数。内函数引用外函数作用域下的非全局变…

没有B柱?极氪MIX太大胆了!

文 | AUTO芯球 作者 | 雷慢 极氪又给国产车长脸了&#xff0c; 极氪MIX上市&#xff0c;创造了多个行业先例&#xff0c; 估计把合资看得一愣一愣的&#xff0c; 哪见过这样的每月都有新技术、黑科技冒出来&#xff0c; 我看完整个发布会就一个感想&#xff0c; 家里有小…