tcpdump(二)命令行参数讲解(一)
一 tcpdump实战详解
1、我们做'抓包',一般都需要指定'条件',保证对系统的'CPU、内存、磁盘'资源不会产生过大的响应备注: 遇到过tcpdump'持续抓包'导致系统'挂了'2、条件:1) tcpdump的 '基础命令选项参数'2) 真正的 '过滤条件'
抓包工具tcpdump用法说明
① 参数学习思路
思路: 掌握'常用'的'选项参数',其它遇到了'再学习'备注: 由于是'科普'类的文章,本文视图尽可能的'详细'罗列每个参数附加: man tcpdump

② 抓包应用场景
说明: 关注'2'、'4'、'5'

③ tcpdump工作原理
![]()

④ 面试题
目的: 考察'tcpdump'的工作原理

二 命令行选项参数

注意: 一些'默认'的'老6'行为

① tcpdump的组成
背景: 参数的'不确定性',让大多数人对 tcpdump 的学习始终'无法'得其'精髓'目的: 便于理解'每个位置'的'顺序'和'含义'



sudo tcpdump -vvnni any port 80 --> '看到HTTP详细信息'
② 网络接口
1、lvs配置'多业务'网卡,需要采用'-i any'2、只配置了一个业务网卡[例如:eth0],可以使用-i eth0.

常见: '无参'、'-i 网卡'、'-i any'无参: 如果不指定网络接口,tcpdump 在运行时会选择'编号最低'的网络接口,一般情况下是 eth0补充: any 这一'特定'的网络接口名用来让 tcpdump 监听'所有'的接口-i: 'interface' --> 抓取流经指定'网卡'所有网络接口,'限定'网络接口

说明: 一般通过'tcpdump -D'查询'网络接口',然后'tcpdump -i' 获取指定'网卡'流量

③ -n
![]()
优化: 设置'不解析域名'提升速度-n: 不把ip转化成'域名',直接显示 ip,避免执行 'DNS lookups' 的过程,速度会快很多-nn: 不把'协议'和'端口号'转化成'名字',速度也会快很多 --> "常用"思考: 'CDN' 场景,是否需要把'ip'解析为'域名'?



端口'与'服务名称解析linux'端口号'与'相应服务'的对应关系存放在'/etc/services'文件中,可以找到'大部分'端口备注: 使用netstat命令'显示的服务名称'也是从'这个文件'中找的附加: /etc/services关于'服务、协议、端口'关联

④ host、src、dst 基于ip地址过滤
![]()

数据包的 ip 可以再细分为'src 源ip'和'dst 目标ip'两种++++++++++++++++++ "分割线" ++++++++++++++++++
如果没有指定'类型',默认是'host'等价: tcpdump -ni eth0 src 10.1.1.2

遗留: 'src'和'dst'通过'逻辑符号'可以同时使用
⑤ net 基于网段过滤
说明: 网段'同样'可以再细分为'源'网段和'目标'网段tcpdump src net 192.168.1.0/24 --> 根据'源网段'进行过滤

⑥ port portrange 基于端口号过滤

1、tcpdump port 8088 --> 指定'特定端口'进行过滤2、tcpdump port 80 or port 8088 --> 同时指定'两个'端口简写: tcpdump port 80 or 80883、tcpdump src port 8088 --> 根据'源端口'进行过滤4、tcpdump portrange 8000-8080 --> 想抓取的是一个端口'范围'5、tcpdump src port http备注: 对于一些'常见协议'的'默认'端口,我们还可以直接使用'协议名',而不用具体的端口号附加: http == 80、https == 443

⑦ proto基于协议进行过滤
常见的'网络协议'有:tcp、udp、icmp、http、ip、ipv6 等强调: 旧版本有'proto'关键字,新版本没有,这里'Centos7.7' 默认的'4.9.2'没有补充: 不指定'协议类型',则抓取'所有'协议类型的包


⑧ tcpdump输出结构
说明: tcpdump '输出的内容'虽然多,却'很规律' --> '后续重点掌握'请求: http://other.wzj.com/index.yml '为例'来看一下
![]()
第一列: 时分秒毫秒 第二列: 网络协议 IP第三列: '发送方'的ip地址+端口号,其中172.20.20.1是 ip,而15605 是'端口号'第四列: 箭头 >, 表示'数据流向'第五列: '接收方'的ip地址+端口号,其中 172.20.20.2 是 ip,而5920 是端口号第六列: 冒号第七列: 数据包内容备注: 包括Flags 标识符,seq 号,ack 号,win 窗口,'数据长度' length附加: 其中 '[P.]' 表示 'PUSH 标志位为 1'说明: 分列是为了与'awk'结合提取'有用'的信息


相关文章:
tcpdump(二)命令行参数讲解(一)
一 tcpdump实战详解 1、我们做抓包,一般都需要指定条件,保证对系统的CPU、内存、磁盘资源不会产生过大的响应备注: 遇到过tcpdump持续抓包导致系统挂了2、条件:1) tcpdump的 基础命令选项参数2) 真正的 过滤条件 抓包工具tcpdump用法说明 ① 参数学…...
10_8C++
X-Mind #include <iostream>using namespace std; class Rect { private:int width;int heigjt; public:void init(int w,int h){width w;heigjt h;}void set_w(int w){width w;}void set_h(int h){heigjt h;}void show(){cout << "矩形的周长" <…...
JVM篇---第七篇
系列文章目录 文章目录 系列文章目录一、Minor GC与Full GC分别在什么时候发生?二、你知道哪些JVM性能调优参数?(简单版回答)三、对象一定分配在堆中吗?有没有了解逃逸分析技术?一、Minor GC与Full GC分别在什么时候发生? 新生代内存不够用时候发生MGC也叫YGC,JVM内存…...
更新Xcode 版本后运行项目出现错误 Unable to boot the Simulator 解决方法
错误截图 出现 Unable to boot the Simulator 错误原因很多,以下方法不一定都适用,我是通过以下方法解决的 打开命令终端输入以下命令,可能需要你输入开机密码 sudo rm -rf ~/Library/Developer/CoreSimulator/Caches...
winform窗体控件太多显示不过来,怎么实现滚动条
winform窗体控件太多显示不过来,怎么实现滚动条 Winform Panel实现滚动条 一、创建panel 在界面上拖拽一个父级Panel1,然后在Panel1里面拖拽一个子级Panel2 设置父级Panel1的AutoScroll属性为True 属性设置好后,当子级高度或者宽度大于父…...
WebSocket连接异常 Error parsing HTTP request header Connection reset by peer
问题描述 在使用spring的方式集成websocket时,在配置WebSocketConfigurer后 Configuration EnableWebSocket public class WebSocketConfiguration implements WebSocketConfigurer {ResourceServletWebSocketServerHandler servletWebSocketServerHandler;Overri…...
Spring中shutdown hook作用
在Spring框架中,Shutdown Hook(关闭钩子)是一种机制,用于在应用程序关闭时执行一些清理操作Spring会向JVM注册一个shutdown hook,在接收到关闭通知的时候,进行bean的销毁,容器的销毁处理等操作在…...
关于IvorySQL和OpenGauss包SPEC处理的一些思考
包的SPEC区可以定义下面三种类型(本篇只讨论SPEC区的情况) 变量类型(nested table等)(注意这是包内定义的类型,与SQL创建的不通)游标 这三种类型在PG原生中,是找不到相似的功能的&…...
我用PYQT5做的第一个实用的上位机项目(六)
将之前的画面和代码用复制粘贴的方法复制四份,就完成了整个主画面和主程序的基本构建。 下面的工作是关于PLC和通信。 上位机项目,其与PLC通信的模式很多都是这样的:在没有操作和设置的平常显示界面,按照预定周期从PLC读取当前页…...
【高级语言程序设计】python函数式编程(一)
基础知识 Python函数式编程的主要内容包括以下几个方面: (1)函数作为一等公民:在函数式编程中,函数被视为一等公民,可以像其他数据类型一样被传递、赋值以及作为返回值。 (2)不可变数据:函数式编程鼓励使用不可变数据…...
使用python查找指定文件夹下所有xml文件中带有指定字符的xml文件
文件夹目录如下(需要递归删除文件夹下的.DS_Store文件): labels文件夹下面是xml文件: import os import os.pathpath "name/labels" files os.listdir(path) # 得到文件夹下所有文件名称 s []for xmlFile in files:…...
flutter实现透明appbar(一)
前言 在项目中如何实现透明的appbar,方式一: 使用stack和positioned定位功能把appbar定位到页面的最上面, 实现 实现 Widget build(BuildContext context) {return Scaffold(body: Stack(children: [_homePage(), _appBar()],),);}_appbar…...
(四)正点原子STM32MP135移植——u-boot移植
一、概述 u-boot概述就不概述了,u-boot、kernel、dtb三件套,dddd 经过国庆艰苦奋战,已经成功把所有功能移植好了 二、编译官方代码 进入u-boot的目录 2.1 解压源码、打补丁 /* 解压源码 */ tar xf u-boot-stm32mp-v2022.10-stm32mp-r1-r0.…...
[计算机入门] 应用软件(办公类)
3.19 应用软件(办公类) 3.19.1 Microsoft office办公软件套件 Microsoft Office 是一套广泛使用的办公软件套件,由Microsoft公司开发和发布。它包含了多个应用程序,用于处理各种办公任务。以下是Office常见的几个应用程序: Microsoft Word…...
基于安卓android微信小程序音乐播放器
运行环境 小程序前端框架:uniapp 小程序运行软件:微信开发者 后端技术:javaSsm(SpringSpringMVCMyBatis)vue.js 后端开发环境:idea/eclipse 数据库:mysql 项目介绍 音乐播放器小程序的设计主要是对系统所要实现的功能进行详细考虑,确定所要…...
Java的指针、引用与C++的指针、引用的对比
笔者前两天在参加菜鸟面试的时候被面试官问到了这个问题,由于只在本科程序设计课上学过C,已经好久没有开发实际项目,所以对C相关的指针以及引用的记忆较为模糊,在此进行一定的知识汇总与梳理。 我们以面试中出现的问题为例来进行整…...
串级/级联控制知识点整理
串级控制系统是改善控制质量的有效方法之一,在过程控制中得到了广泛的应用。所谓串级控制,就是采用两个控制器串联工作,外环控制器的输出作为内环控制器的设定值,由内环控制器的输出去操纵控制阀,从而对外环被控量具有…...
数据产品读书笔记——认识数据产品经理
🌻大家可能听说的更多是产品经理这个角色,对数据产品经理可能或多或少了解一些,但又不能准确的描述数据产品经理的主要职能和与其他产品的不同,因此通过读一些书来对数据产品经理有一个准确且全面的认知。 目录 1. 数据的产品分类…...
从 0 到 1 ,手把手教你编写《消息队列》项目(Java实现) —— 创建虚拟机
文章目录 一、虚拟机二、关于消息的API发布消息直接交换机 DIRECT 转发规则扇出交换机 FANOUT 转发规则主题交换机 TOPIC 转发规则匹配规则Router类 订阅消息消费者队列如何给订阅的消费者发送消息自动发送消息至订阅者 应答消息 三、代码编写 一、虚拟机 接下来要创建虚拟机,…...
GIT版本控制--前言
欢迎来到《GIT版本控制》专栏!在当今软件开发和协作的世界中,版本控制是不可或缺的工具之一。无论您是一名初学者,一位经验丰富的开发者,还是一个项目团队的成员,都有可能会受益于对GIT的深入了解。 GIT是一个强大的分…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
