[转]使用tcpdump抓取HTTP包

tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT"。

输出到文件:

sudo tcpdump  -XvvennSs 0 -i rvi0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 >> ~/out.pcapng

tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序(如Wireshark)进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

tcpdump 与wireshark

Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。
还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

原文地址:https://www.cnblogs.com/cwind/p/9827595.html

时间: 2024-10-07 06:23:20

[转]使用tcpdump抓取HTTP包的相关文章

tcpdump抓取HTTP包

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE" 0x4854 为"HTTP"前两个字母"HT" 说明: 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手 里面的几个概念: SYN: (同步序列编号,Synchronize Sequence Numb

利用tcpdump抓取网络包

1.下载并安装tcpdump 下载地址:tcpdump 安装tcpdump,连接adb adb push tcpdump /data/local/tcpdump adb shell chmod 6755 /data/local/tcpdump adb root 2.启动并运行tcpdump 直接显示连接信息 adb shell /data/local/tcpdump -n -s 0 抓取数据到文件 adb shell /data/local/tcpdump -i any -p -s 0 -w /

利用Fiddler抓取websocket包

一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handlers中加入以下代码 static function OnWebSocketMessage(oMsg: WebSocketMessage) { // Log Message to the LOG tab FiddlerApplication.Log.LogString(oMsg.ToString()

手机通过Charles抓取https包

因为fiddler不能在mac上使用,而Charles是跨平台的,可以在mac上使用,所以需要了解一下Charles的使用 安装破解版Charles 下载破解版包,先启动一次未破解版的Charles,然后再替换包内容的java下的Charles.jar 破解版下载地址(如果不幸的又不能下载了,那就网上随便搜一个吧):http://download.csdn.net/download/m694449212/9770583 手机通过Charles抓取https 第一步:配置Charles,允许抓取h

用wireshark查看 tcpdump 抓取的mysql交互数据

用tcpdump  抓取 mysql客户端与服务器端的交互 1开启tcpdump tcpdump -i eth0 -s 3000 port 3306 -w ~/sql.pcap 先故意输入一个错误的密码 [[email protected] ~]# mysql -h192.168.100.206 -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'192.168.11.201' (using p

H3C交换机端口镜像,抓取数据包wireshark实战

端口镜像 <H3C>system-vies     //进入配置模式 用户名:admin 密码:admin(默认) [H3C] dis cu int  查看所有端口的配置 [H3C] mirroring-group 1  local   //创建本地镜像组 [H3C] mirroring-group 1 mirroring-port G1/0/1 both     //设置源端口,镜像可以根据实际情况灵活选择入方向.出方向及全部流量:both,全部流量:inbound,入方向流量:outbou

Android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式

Android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式 https://johnnyshieh.me/posts/android-7-capture-https-package/ 发表于 2019-05-06 | 分类于 Android| 0| 阅读次数 最近升级了 targetSdkVersion 到 28 后发现在 Android 7.0 以上机型 Charles 抓取 https 包时显示找不到证书,但是 Android 6.0 机型还是可以正

通过tcpdump抓取 指定 ip 端口 的网络数据,并通过wireshark分析网络数据,很实用

抓取来源ip port 端口的数据,tcp协议,并保存到文件 tcpdump -w dataSrc.pcap -i bond0 src net ip and port port 抓取目的ip port 端口的数据 tcpdump -w dataDst.pcap -i bond0 dst net ip and port port 抓取往返ip port 端口的数据 tcpdump -w dataAll.pcap -i bond0 host net ip and port port 以上命令将网络抓

tcpdump抓取oracle报文以及使用Wireshark分析

1.抓取oracle相关报文 从本机抓取发往本机oracle的报文 命令:tcpdump -w dumpfile -i lo -A -s 0 host 172.20.61.2 生成的报文文件为dumpfile. 2.Wireshark网络分析 tcpdump命令详解,请参考以下网址:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html