tcpdump(五)命令行参数讲解(四)

一    案例讲解

tcpdump官方参考文档   最全的tcpdump手册

强调: -nn 选项一般是'must 必选'

①  现场分析并保留现场信息

tcpdump -l | tee dat  使用tee来把tcpdump的输出同时放到'文件dat'和'标准输出'中场景: 自己现场'分析'同时把现场信息'保留下来'

②  提取 应用层HTTP 的 Header头

场景: 查看原始'HTTP 头'的形式,查看在'哪个阶段'头被修改,进行定位1、浏览器的'跨域'      --> 'tcpdump'抓取到了,但是浏览器'拦截'了2、HSTS              --> '浏览器把http升级为https'3、经过中间层'nginx'等 --> 'Host、Cookies、Set-Cookies'等+++++++++++++ "分割线" +++++++++++++需求1: 提取'User-Agent' 或 'Host' 主机名tcpdump -nn -A -s0 -l | egrep -i 'User-Agent:|Host:'备注: 只查看'固定'关键信息需求2: 抓取Request和response里的'Cookie'tcpdump -i eth0 -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:'建议: 通过'ip'信息更'精确'一点

③  只抓取HTTP流量

如何使用tcpdump抓取一次http的请求和响应

需求1: 抓取 HTTP 'GET' 请求包tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
​
0x47455420 代表的是 'GET'  的ASCII码强调: 必须 '深刻' 理解 tcp的'报文结构'才能写出'精确'的过滤条件,后续'再回看'需求2: 目的'端口为80'的HTTP 'GET' 请求tcpdump -i eth0 -s0 -A 'tcp dst port 80 and \tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'强调: 知道'原理'即可,后续'拿来即用'即可++++++++++++++++++++  "原理剖析"  ++++++++++++++++++++ 

关键点: 除以'4'在'位运算'中相当于左移'<< 2'位

需求3:可以抓取 HTTP 'POST' 请求包tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'备注: 0x504F5354 代表的是 'POST' 的ASCII码注意: '不能保证'抓取到 HTTP POST 有效数据流量,因为一个POST请求会被分割为'多个'TCP数据包

④  抓取HTTP GET和POST request和response

tcpdump -i eth0 -s 0 -A \'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or \tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354 or \tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450 or \tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x3C21444F and host 192.168.10.1'

⑤  多方向

需求: 同时抓'多个'地址,其中'一个方向'地址为'多'个tcpdump -i eth0 dst 1.1.1.1 and src '(2.2.2.2 or 3.3.3.3)' -nn

⑥  找出发包数最多的 IP

需求: 找出'一段时间内'发包最多的 IP,或者从一堆报文中找出'发包最多的 ip'tcpdump -nn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c \| sort -nr | head -n 20cut -f 1,2,3,4 -d '.'   --> 以 '.' 为分隔符,打印出每行的'前四列' --> 即 IP 地址sort | uniq -c          --> 排序并计数sort -nr                --> 按照数值大小逆向排序

⑦  TLS案例

说明: 画了一张'示意图来'表示'报文偏移量'及其'含义',帮你理解其中的'奥妙'

tcpdump的输出和tcpdump的报错(权限和内容截断)

⑧   基础服务

需求1:  在'lvs节点'上抓包,不管使用是'ECMP静态等价路由'还是'BGP动态路由','fullnat'模式链路:   client -->'lvs'-->四层服务++++++++++++++  "分割线"  ++++++++++++++
​
备注1: 由于lvs是'集群'模式,请求可能'落到'某个lvs节点上,所以所有的'lvs节点'都要抓包备注2: 同一集群'不同'lvs节点'LIP不一样'备注3: 默认为src or dst,不指定'方向',建议使用'()'可读性比较好遗留:  host 1.1.1.1 and port 8080 啥原因? '白名单吗'? --> '业务特性'?思考:  'DR模式'如何抓包?

需求2: nginx'节点'抓包链路: client --> '四层lvs' --> '7层nginx' --> '七层云服务'备注: nginx也是'集群'模式,需要在'多个nginx节点上'同时抓包补充: 不需要关注'nginx节点自身的ip'

需求3: 'DNS'和'NTP'抓包

tcpdump排查DNS解析 

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

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

相关文章

朋友圈一键转发(可修改文案),无需多个账号复制粘贴

相信很多人手上都有不止一个微信&#xff0c;每次发个朋友圈都要在多个账号切换&#xff0c;重复发送&#xff0c;好不麻烦。而一些朋友想要一键跟随转发朋友圈&#xff0c;却总是需要一个个复制粘贴&#xff0c;麻烦而且容易漏发。 那实现朋友圈一键跟随转发&#xff0c;无需多…

wifi管理软件 WiFi Signal mac中文介绍

WiFi Signal mac是一款WiFi信号强度监测工具&#xff0c;它可以帮助用户实时监测WiFi信号的强度、频率、噪声等信息&#xff0c;并提供详细的图表和统计数据。 WiFi Signal可以自动扫描附近的WiFi网络&#xff0c;并显示它们的信号强度和频率。用户可以通过WiFi Signal来找到最…

ES知识点全面整理

● 我们从很多年前就知道 ES6, 也就是官方发布的 ES2015 ● 从 2015 年开始, 官方觉得大家命名太乱了, 所以决定以年份命名 ● 但是大家还是习惯了叫做 ES6, 不过这不重要 ● 重要的是, ES6 关注的人非常多, 大家也会主动去关注 ● 但是从 2016 年以后, 每年官方都会出现新…

阿里8年经验之谈 —— 如何编写有效的接口测试?

阿里妹导读&#xff1a;在所有的开发测试中&#xff0c;接口测试是必不可少的一项。有效且覆盖完整的接口测试&#xff0c;不仅能保障新功能的开发质量&#xff0c;还能让开发在修改功能逻辑的时候有回归的能力&#xff0c;同时也是能优雅地进行重构的前提。编写接口测试要遵守…

react管理系统layOut简单搭建

一、新建立react文件夹&#xff0c;生成项目 npx create-react-app my-app cd my-app npm start 二、安装react-router-dom npm install react-router-dom 三、安装Ant Design of React&#xff08;UI框架库&#xff0c;可根据需求进行安装&#xff09; npm install antd …

基于DeOldify的给黑白照片、视频上色

老照片常常因为当时的技术限制而只有黑白版本。然而现代的 AI 技术&#xff0c;如 DeOldify&#xff0c;可以让这些照片重现色彩。 本教程将详细介绍如何使用 DeOldify 来给老照片上色。 文章目录 准备工作执行代码图片上色视频上色 总结 准备工作 这里用 git clone 命令克隆…

利用R语言进行生态环境数据的可视化分析:方法和实践

R语言是一种用于统计分析、绘图的语言和操作环境&#xff0c;属于GNU系统的一个自由、免费、开源的软件&#xff0c;它是一个用于统计计算和统计制图的优秀工具1。 R是由Ross Ihaka和Robert Gentleman在1993年开发的一种编程语言&#xff0c;拥有广泛的统计和图形方法目录&…

16个最佳Chrome插件推荐给做前端的你

作为Web开发人员每天的工作就是不断地开发、测试、优化&#xff0c;涉及到语言、布局、字体、样式等技术。整个开发过程离不开浏览器。浏览器插件就像是浏览器的“装备”&#xff0c;可以增加浏览器额外的特性和功能。针对开发人员的日常工作&#xff0c;有些浏览器插件非常实用…

TensorFlow入门(十八、激活函数)

激活函数是什么? 单个神经元的网络模型: 用计算公式表达如下: 即在神经元中,输入的x通过与权重w相乘,与偏置量b求和后,还被作用了一个函数,这个函数就是激活函数。 激活函数的作用 如果没有激活函数,整个神经元模型就是一个简单的线性方程。而在现实生活中,线性方程能解决的事…

超简单的视频截取方法,迅速提取所需片段!

“视频可以截取吗&#xff1f;用相机拍摄了一段视频&#xff0c;但是中途相机发生了故障&#xff0c;录进去了很多不需要的片段&#xff0c;现在想截取一部分视频出来&#xff0c;但是不知道方法&#xff0c;想问问广大的网友&#xff0c;知不知道视频截取的方法。” 无论是工…

2023年中国牙线市场规模、竞争现状及行业需求前景分析[图]

牙线是由合成纤维或其他材料制成&#xff0c;或添加香料、色素、活性成分等&#xff0c;用来清洁牙齿邻面附着物的线。能够有效包裹牙齿&#xff0c;对于清洁平面/凸起牙面和牙齿邻接面的牙菌斑效果很好&#xff0c;还可以实现对于牙缝间食物/异物的剔除&#xff0c;有效清洁口…

linux后台运行java项目/ jar包:nohup 命令

1.提出问题 我们把一个 SpringBoot 工程导出为 jar 包&#xff0c;jar 包上传到阿里云 ECS 服务器上&#xff0c;使用 java -jar xxx-xxx.jar 命令启动这个 SpringBoot 程序。此时我们本地的 xshell 客户端必须一直开着&#xff0c;一旦 xshell 客户端关闭&#xff0c;java -j…

CPU性能分析--火焰图使用

记录工具使用说明&#xff0c;火焰图原理网上分析很多。主要用来分析函数调用栈占用的cpu利用率&#xff0c;分析函数性能。 perf安装&#xff1a; sudo apt-get install linux-tools-common sudo apt-get install linux-tools-"(uname -r)" sudo apt-get install …

基于FPGA的图像形态学腐蚀算法实现,包括tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将FPGA的仿真结果导入到MATLAB,结果如下所示&#xff1a; 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1ps…

微服务必学!RedisSearch终极使用指南,你值得拥有!

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…

基于乌燕鸥优化的BP神经网络(分类应用) - 附代码

基于乌燕鸥优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于乌燕鸥优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.乌燕鸥优化BP神经网络3.1 BP神经网络参数设置3.2 乌燕鸥算法应用 4.测试结果&#x…

机器学习、深度学习相关的项目集合【自行选择即可】

【基于YOLOv5的瓷砖瑕疵检测系统】 YOLOv5是一种目标检测算法&#xff0c;它是YOLO&#xff08;You Only Look Once&#xff09;系列模型的进化版本。YOLOv5是由Ultralytics开发的&#xff0c;基于一阶段目标检测的概念。其目标是在保持高准确率的同时提高目标检测的速度和效率…

Python并发编程简介

1、Python对并发编程的支持 多线程: threading, 利用CPU和IO可以同时执行的原理,让CPU不会干巴巴等待IO完成多进程: multiprocessing, 利用多核CPU的能力&#xff0c;真正的并行执行任务异步IO: asyncio,在单线程利用CPU和IO同时执行的原理&#xff0c;实现函数异步执行使用Lo…

Altium如何查看导线长度?凡亿悄悄地告诉你

Altium Designer&#xff08;AD&#xff09;是全球应用最广泛的EDA工具之一&#xff0c;它提供了一套完整的解决方案&#xff0c;从原理图设计、模拟、PCB布局和布线&#xff0c;到最后的Gerber输出&#xff0c;都可在该平台上完成&#xff0c;因此是很多电子工程师的必学软件之…

Java学数据结构(4)——PriorityQueue(优先队列) 二叉堆(binary heap)

前言 数据结构与算法作为计算机科学的基础&#xff0c;是一个重点和难点&#xff0c;在实际编程中似乎看不它们的身影&#xff0c;但是它们有随处不在&#xff0c;如影随形。 本系列博客是《数据结构与算法分析—Java语言描述》的读书笔记&#xff0c;合集文章列表如下&#…