【linux测试必背| tcpdump】命令行抓包神器 | tcpdump抓取post请求并显示详细参数
命令行抓包神器 | tcpdump抓取post请求并显示详细参数
- 知识背景(diu ren 经历)
- 1. tcpdump抓包工具捕捉tcp请求 三次握手和四次挥手
- 适用场景:
- 命令格式:
- 2. tcpdump抓包工具捕捉tcp请求 并展示详细数据
- 适用场景:
- 命令格式:
- 3. tcpdump抓包工具捕捉http请求展示post的请求方式和body
- 适用场景:
- 命令格式:
- 补充:
- 1. tcpdump抓包工具 捕捉指定端口接收到的http post请求
- 适用场景:
- 命令格式:
- 2. tcpdump抓包工具 捕捉指定端口接收到的指定来源的http get/post 请求
- 适用场景:
- 命令格式:
- 3. tcpdump抓包工具 捕捉接收到的所有http get请求
- 适用场景:
- 命令格式:
- 4. tcpdump抓包工具 捕捉指定端口接收到的http get请求
- 适用场景:
- 命令格式:
- 5. tcpdump抓包工具 捕捉接收到的所有http get或post请求的url
- 适用场景:
- 命令格式:
- 6. tcpdump抓包工具 捕捉接收到的所有http get或post请求的里的密码
- 适用场景:
- 命令格式:
- 7. tcpdump抓包工具 捕捉接收到的指定端口的完整http 请求数据(get&post)
- 适用场景:
- 命令格式:
知识背景(diu ren 经历)
今天突然说要转一个补丁版本,将get请求改成post请求,紧急上线,要半小时搞定。
所以,需要验证3个点:
- 改为post请求后,业务功能是否正常(但是由于业务复杂,在测试环境需要一个代理转发到客户环境,但客户环境我们是没有权限访问的,也不能和客户联调。所以,并不能直接去校验这里的结果,对于该结果不能持百分百信任。于是乎有了下面两点)
- 检查下游(代理)收到的请求,method是否是post
- 检查下游(代理)收到的请求,原来放在url里的参数是否放进了body里
虽然身为一个后端测开,但是我也是个小白牙,不怕笑话,我就没用过命令行tcpdump去抓包。
开始google之旅,分三个阶段哈:
1. tcpdump抓包工具捕捉tcp请求 三次握手和四次挥手
适用场景:
问题定位:抓取tcp请求,可以定位两个服务器之间到底有没有成功建立连接哦
命令格式:
示例:
tcp抓包 :端口和网卡根据实际情况配置 (容器,idc机器都可以用)
tcpdump -i eth0 tcp and port 13011 -vvvv
显示结果包含 源IP:端口和目标IP:端口
2. tcpdump抓包工具捕捉tcp请求 并展示详细数据
适用场景:
问题定位:抓取tcp请求,可以看到请求包含的详细信息
命令格式:
示例:
tcp抓包 :端口和网卡根据实际情况配置 (容器,idc机器都可以用) -X是展示详细数据
tcpdump -i eth0 tcp and port 13011 -vvvv -X
3. tcpdump抓包工具捕捉http请求展示post的请求方式和body
适用场景:
捕捉接收到的http请求并展示post的请求方式和body
命令格式:
示例:
tcpdump -s 0 -i eth1 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'注: eth1 是网卡(根据实际情况选择)
结果示例:
补充:
1. tcpdump抓包工具 捕捉指定端口接收到的http post请求
适用场景:
仅仅捕捉指定端口443接收到的http post请求
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A 'tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'
2. tcpdump抓包工具 捕捉指定端口接收到的指定来源的http get/post 请求
适用场景:
tcpdump抓包工具 仅捕捉指定端口80/443接收到的指定来源192.168.10.1的http get/post 请求
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A 'tcp dst port 80 or tcp dst port 443 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354' and host 192.168.10.1
3. tcpdump抓包工具 捕捉接收到的所有http get请求
适用场景:
捕捉接收到的所有http get请求
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
4. tcpdump抓包工具 捕捉指定端口接收到的http get请求
适用场景:
仅仅捕捉指定端口443接收到的http get请求
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A 'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
5. tcpdump抓包工具 捕捉接收到的所有http get或post请求的url
适用场景:
仅捕捉接收到的所有http get或post请求的url
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"
6. tcpdump抓包工具 捕捉接收到的所有http get或post请求的里的密码
适用场景:
仅捕捉接收到的所有http get或post请求的里的密码
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:"
7. tcpdump抓包工具 捕捉接收到的指定端口的完整http 请求数据(get&post)
适用场景:
捕捉接收到的指定端口的完整http 请求数据(get&post)
命令格式:
示例:
tcpdump -i enp0s8 -s 0 -A 'tcp dst port 18001 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.60.1'
示例如下:
Request from 192.168.60.1 using curl -vaksarav@middlewareinventory:~$ curl -v "-H X-Forwarded-By: middlewareinventory" -X POST http://192.168.60.4:18001/TestWebService/
* Trying 192.168.60.4...
* TCP_NODELAY set
* Connected to 192.168.60.4 (192.168.60.4) port 18001 (#0)
> POST /TestWebService/ HTTP/1.1
> Host: 192.168.60.4:18001
> User-Agent: curl/7.54.0
> Accept: */*
> X-Forwarded-By: middlewareinventory
>
< HTTP/1.1 200 OK
< Date: Sat, 28 Jul 2018 06:21:42 GMT
< Accept-Ranges: bytes
< Content-Length: 475
< Content-Type: text/html
< Last-Modified: Sat, 28 Jul 2018 15:41:10 GMT
<
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Sample WebService Application</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>This is Sample WebService Application</div>
</body>
</html>
* Connection #0 to host 192.168.60.4 left intact
Response:[root@mwiapp01 ~]# tcpdump -i enp0s8 -s 0 -A 'tcp dst port 18001 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.60.1'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s8, link-type EN10MB (Ethernet), capture size 65535 bytes
02:49:12.424425 IP 192.168.60.1.60442 > mwiapp01.18001: Flags [P.], seq 558796881:558797017, ack 3750122298, win 4117, options [nop,nop,TS val 317440918 ecr 4685369], length 136
E...Z.@.@.....<...<...FQ!N.Q..S:...........
.....G~9POST /TestWebService/ HTTP/1.1
Host: 192.168.60.4:18001
User-Agent: curl/7.54.0
Accept: */*
X-Forwarded-By: middlewareinventory02:49:12.426378 IP mwiapp01.18001 > 192.168.60.1.60442: Flags [P.], seq 1:171, ack 136, win 235, options [nop,nop,TS val 4685370 ecr 317440918], length 170
E...-.@.@.....<...<.FQ....S:!N.......&.....
.G~:....HTTP/1.1 200 OK
Date: Sun, 29 Jul 2018 06:49:12 GMT
Accept-Ranges: bytes
Content-Length: 475
Content-Type: text/html
Last-Modified: Sat, 28 Jul 2018 15:41:10 GMT02:49:12.426683 IP mwiapp01.18001 > 192.168.60.1.60442: Flags [P.], seq 171:646, ack 136, win 235, options [nop,nop,TS val 4685371 ecr 317440920], length 475
E...-.@.@.....<...<.FQ....S.!N.......W.....
.G~;....<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Sample WebService Application</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>This is Sample WebService Application</div>
</body>
</html>
【linux测试必背| tcpdump】命令行抓包神器 | tcpdump抓取post请求并显示详细参数相关推荐
- 抓包神器TCPDUMP的分析总结-涵盖各大使用场景、高级用法
一.前言 网络故障排查中,经常要抓包,windows有wireshark,linux最常用的是tcpdump,其中被问得最多的一个问题:"iptables限制后,tcpdump还能抓到包吗? ...
- 关于fi dd ler 手机抓包 网卡地址地址_面试官:你给我讲讲抓包神器tcpdump的原理...
点击上方蓝色字关注我们~ 面试官 你说你会网络编程?你说你熟悉网络知识,那你使用过tcpdump吗?能给我讲下tcpdump是什么,或者你有用过tcpdump解决过实际问题吗? 如果你学过网络,甚至搞 ...
- linux之抓包神器tcpdump
tcpdump介绍 tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上.熟悉 tcpdump 的使用能够帮助你分析.调试网络数据. tcpdump语法 tcpdump [-adefl ...
- 你不知道的linux抓包神器—— tcpdump
[好文推荐] 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 一篇长文叙述Linux内核虚拟地址空间的基本概括 tcpdump介绍 tcpdump 是一款强大的 ...
- 超详细的网络抓包神器 tcpdump 使用指南
tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...
- 关于fi dd ler 手机抓包 网卡地址地址_超详细的网络抓包神器 tcpdump 使用指南
tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...
- 【跨平台网络抓包神器のtcpdump】ubuntu下编译tcpdump开源抓包工具
1.源码准备: (1)下载tcpdump源码:https://www.tcpdump.org/index.html#latest-releases (2)下载两个文件(tcpdump与libpcap) ...
- 网络抓包神器tcpdump
抓取7100端口 报文输出到7100.pcap,文件可用wireshark打开 tcpdump port 7100 -w 7100.pcap
- 阿里开源抓包神器LightProxy 抓https 接口
1.下载安装 GitHub地址:https://github.com/alibaba/lightproxy 包下载地址:https://gw.alipayobjects.com/os/LightPro ...
最新文章
- mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)
- USACO 2.3 Money Systems(DP)
- div如何设置背景图片
- ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
- PyTorch中的torch.nn.Parameter() 详解
- 从 0 到 1,看我玩弄千万日志于股掌
- [BZOJ3238][AHOI2013]差异 [后缀数组+单调栈]
- Mysql8.0 15安装后怎么打开_mysql-8.0.15-winx64 解压版安装 图文详解
- 盒子模型(W3C盒子和IE盒子)
- Unix/Linux Command Reference
- 远古有圆孔的头颅可能是穿越者
- 自适应漫画手机APP应用下载页源码
- 【面经】Thoughtworks软件开发
- excel快速删除奇偶数行
- 轻松了解python正则表达式 (超详细,附举例)
- SEI文献整理2:A Review of Radio Frequency Fingerprinting Techniques(2020)
- 计算机40个快捷键,计算机快捷键40个_计算机常用快捷键大全分享
- torch和torchvision对应版本(最新版,含有torchvision 0.13.0版本)
- SpringBoot集成Docker下的Redis哨兵(一主两从一哨兵)
- Springboot毕业设计毕设作品,微信垃圾分类小程序系统 开题报告