命令行抓包神器 | 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个点:

  1. 改为post请求后,业务功能是否正常(但是由于业务复杂,在测试环境需要一个代理转发到客户环境,但客户环境我们是没有权限访问的,也不能和客户联调。所以,并不能直接去校验这里的结果,对于该结果不能持百分百信任。于是乎有了下面两点)
  2. 检查下游(代理)收到的请求,method是否是post
  3. 检查下游(代理)收到的请求,原来放在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请求并显示详细参数相关推荐

  1. 抓包神器TCPDUMP的分析总结-涵盖各大使用场景、高级用法

    一.前言 网络故障排查中,经常要抓包,windows有wireshark,linux最常用的是tcpdump,其中被问得最多的一个问题:"iptables限制后,tcpdump还能抓到包吗? ...

  2. 关于fi dd ler 手机抓包 网卡地址地址_面试官:你给我讲讲抓包神器tcpdump的原理...

    点击上方蓝色字关注我们~ 面试官 你说你会网络编程?你说你熟悉网络知识,那你使用过tcpdump吗?能给我讲下tcpdump是什么,或者你有用过tcpdump解决过实际问题吗? 如果你学过网络,甚至搞 ...

  3. linux之抓包神器tcpdump

    tcpdump介绍 tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上.熟悉 tcpdump 的使用能够帮助你分析.调试网络数据. tcpdump语法 tcpdump [-adefl ...

  4. 你不知道的linux抓包神器—— tcpdump

    [好文推荐] 需要多久才能看完linux内核源码? 概述Linux内核驱动之GPIO子系统API接口 一篇长文叙述Linux内核虚拟地址空间的基本概括 tcpdump介绍 tcpdump 是一款强大的 ...

  5. 超详细的网络抓包神器 tcpdump 使用指南

    tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...

  6. 关于fi dd ler 手机抓包 网卡地址地址_超详细的网络抓包神器 tcpdump 使用指南

    tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...

  7. 【跨平台网络抓包神器のtcpdump】ubuntu下编译tcpdump开源抓包工具

    1.源码准备: (1)下载tcpdump源码:https://www.tcpdump.org/index.html#latest-releases (2)下载两个文件(tcpdump与libpcap) ...

  8. 网络抓包神器tcpdump

    抓取7100端口 报文输出到7100.pcap,文件可用wireshark打开 tcpdump port 7100 -w 7100.pcap

  9. 阿里开源抓包神器LightProxy 抓https 接口

    1.下载安装 GitHub地址:https://github.com/alibaba/lightproxy 包下载地址:https://gw.alipayobjects.com/os/LightPro ...

最新文章

  1. mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)
  2. USACO 2.3 Money Systems(DP)
  3. div如何设置背景图片
  4. ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
  5. PyTorch中的torch.nn.Parameter() 详解
  6. 从 0 到 1,看我玩弄千万日志于股掌
  7. [BZOJ3238][AHOI2013]差异 [后缀数组+单调栈]
  8. Mysql8.0 15安装后怎么打开_mysql-8.0.15-winx64 解压版安装 图文详解
  9. 盒子模型(W3C盒子和IE盒子)
  10. Unix/Linux Command Reference
  11. 远古有圆孔的头颅可能是穿越者
  12. 自适应漫画手机APP应用下载页源码
  13. 【面经】Thoughtworks软件开发
  14. excel快速删除奇偶数行
  15. 轻松了解python正则表达式 (超详细,附举例)
  16. SEI文献整理2:A Review of Radio Frequency Fingerprinting Techniques(2020)
  17. 计算机40个快捷键,计算机快捷键40个_计算机常用快捷键大全分享
  18. torch和torchvision对应版本(最新版,含有torchvision 0.13.0版本)
  19. SpringBoot集成Docker下的Redis哨兵(一主两从一哨兵)
  20. Springboot毕业设计毕设作品,微信垃圾分类小程序系统 开题报告

热门文章

  1. 什么是DOI?看看APA、MLA和芝加哥格式中的DOI
  2. GPIO的八种工作模式
  3. 华师计算机系统课程作业答案,华师在线计算机专业操作系统期末作业
  4. 公安部紧急预警!新型“美团短信”诈骗,目前已多人中招
  5. 关于ASO优化的这些你懂了吗?
  6. kubernets 集群搭建
  7. KT1025A蓝牙芯片模块关于录音功能的一些常见问题_以及解答
  8. Python|range函数用法完全解读
  9. 如何进行S6系统还原
  10. Internet History, Technology and Security (Week⑨)