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.hqwc.cn/news/130526.html

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

相关文章

python中pytorch的广播机制——Broadcasting

广播机制 numpy 在算术运算期间采用“广播”来处理具有不同形状的 array &#xff0c;即将较小的阵列在较大的阵列上“广播”&#xff0c;以便它们具有兼容的形状。Broadcasting是一种没有copy数据的expand 不过两个维度不相同&#xff0c;在前面插入维度1扩张维度1到相同的维…

【chrome基础】Chrome、Chromium、libcef、electron版本关系大揭秘!

文章目录 概述chrome、Chromium、cef、electron 版本管理chrome的各种概念和学习资料V8 bindings 设计谷歌V8引擎探秘&#xff1a;基础概念Chrome 的插件&#xff08;Plugin&#xff09;与扩展&#xff08;Extension&#xff09;Chrome插件开发 概述 Chrome、Chromium、libcef、…

某瑞集团安全技术研发岗位面试

目录 一、自我介绍 二、就ctf比赛经历方面提些问题 三、简单讲一下中孚的实习经验 四、你就职业想从事哪方面的工作 五、漏洞挖掘有什么经验吗 本文由掌控安全学院 - sbhglqy 投稿 一、自我介绍 阿吧阿吧&#xff0c;不多说 二、就ctf比赛经历方面提些问题 面试官&…

Centos7中安装Jenkins教程

1.必须先配置jdk环境&#xff0c;安装jdk参考 Linux配置jdk 2.先卸载Jenkins # rpm卸载 rpm -e jenkins # 检查是否卸载成功 rpm -ql jenkins # 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf 3.安装Jenkins 在 /usr/ 目录下创建 jenkins文件夹 mkdir -p je…

复旦管院启动科创战略,培养科技研发人才,引领未来发展!

今年夏天&#xff0c;600多位优秀的企业家成为复旦大学EMBA 2023级新生。在疫情结束后&#xff0c;他们选择百战归来再读书&#xff0c;重新回到久违的课堂&#xff0c;共同探索科创大时代下企业的商业本质&#xff0c;开启新的学习与人生旅程。复旦大学管理学院院长陆雄文教授…

JavaScript中的深拷贝(deep copy)和浅拷贝(shallow copy)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

ArcGIS Pro地图可视化—双变量关系映射

原址链接ArcGIS Pro地图可视化—双变量关系映射https://mp.weixin.qq.com/s/g-pPBHPXMOEF5NHm06JcrA 这个方法很早很早以前就有了&#xff0c;可能大家早就知道了&#xff0c;可我昨天刚看到这个东西 https://en.wikipedia.org/wiki/Multivariate_map 像是上图&#xff0c;美国…

AlGaN/GaN结构的氧基数字蚀刻

引言 宽带隙GaN基高电子迁移率晶体管(HEMTs)和场效应晶体管(fet)能够提供比传统Si基高功率器件更高的击穿电压和电子迁移率。常关GaN非常需要HEMT来降低功率并简化电路和系统架构&#xff0c;这是GaN HEMT技术的主要挑战之一。凹进的AlGaN/GaN结构是实现常关操作的有用选择之一…

阻塞和非阻塞,同步和异步

一个典型的网络IO接口调用&#xff0c;分为两个阶段&#xff0c;分别是“数据就绪” 和 “数据读写”&#xff0c;数据就绪阶段分为 阻塞和非阻塞&#xff0c;表现得结果就是&#xff0c;阻塞当前线程或是直接返回。 同步表示A向B请求调用一个网络IO接口时&#xff08;或者调用…

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

作者&#xff1a;寒斜 阿里云智能技术专家 「本文是“在 Serverless 平台上构建 AIGC 应用”系列文章的第一篇文章。」 前言 随着 ChatGPT 以及 Stable Diffusion&#xff0c;Midjourney 这些新生代 AIGC 应用的兴起&#xff0c;围绕 AIGC 应用的相关开发变得越来越广泛&…

浏览器详解(四) 渲染

大家好&#xff0c;我是半虹&#xff0c;这篇文章来讲浏览器渲染 1、基本介绍 浏览器是多进程多线程的架构&#xff0c;包括有浏览器进程、渲染器进程、GPU 进程、插件进程等 在上篇文章中我们介绍过浏览器进程&#xff0c;作为浏览器主进程&#xff0c;负责浏览器基本界面的…

【Java 进阶篇】CSS盒子模型详解

CSS盒子模型是网页布局的基础之一&#xff0c;它定义了HTML元素在页面上的占用空间和相互关系。理解CSS盒子模型对于构建各种类型的网页布局至关重要。在本文中&#xff0c;我们将深入探讨CSS盒子模型的各个方面&#xff0c;包括盒子模型的概念、属性和如何使用它们来控制元素的…