[置顶] tcpflow 抓包
转自: http://www.rwifeng.com/jekyll/update/2015/04/16/how-to-tcpflow/
tcpflow 抓包
Apr 16, 2015
大家都知道 tcpdump 是一个很方便的抓包工具, 但是 tcpdump 是以包为单位进行输出的,阅读起来不是很方便。 而 tcpflow 是面向 TCP 流的,每个 TCP 传输会保存成一个文件。所以一个典型的 TCP 会话会产生两个文件,每个方向产生一个文件。 此外, tcpflow 还可以解析 tcpdump 保存的文件。
先看一个小例子。在我的 Mac 上有一个 HTTP 服务,所用端口号为 12345,那么用 tcpflow 抓包结果如下:
可以看到,tcpflow 直观地显示出了请求、响应的 HTTP 报文,具有很好的可读性。
安装
具体可以参考: tcpflow github
简单使用
具体的使用方法,可以去查应用手册 man tcpflow
. 下面介绍几种简单的使用方法。
- 打印经过网卡的所有报文
在你的 terminal 中输入:
tcpflow -ci en0
其中 -c 表示将报文直接打印在 terminal 中。不指定 -c 参数会将抓取的 TCP 报文保存在文件中。 -i 表示你要监听的网络端口。 假如你不指定 -c 参数, tcpflow 会将每个 TCP 流的数据存储在他自己的文件中,其中文件的命名规则你可以参考: tcpflow
github . 基本格式为:
[timestampT]sourceip.sourceport-destip.destport[--VLAN][cNNNN]
- 读取已有的 pcap 文件
在使用 tcpdump, 或者 wireshark 抓得包的格式是 pcap
。 使用 tcpflow 也可以读取这些包得格式。 这儿有一个我使用 tcpdump 抓的包的格式: tcpdump
pcap
tcpflow -cr test.pcap
可以将 pcap 包打印到 terminal 中。当然你也可以将 TCP 流保存在文件中:
tcpflow -r test.pcap
# 这样我得到了两个文件:
# 183.136.139.016.00080-192.168.199.146.49570
# 192.168.199.146.49570-183.136.139.016.00080
其中文件 192.168.199.146.49570-183.136.139.016.00080
是我的主机向服务器发送的请求包。文件 183.136.139.016.00080-192.168.199.146.49570
是服务器向客户端返回的响应包。如果你想要重放下请求,就可以使用这种方法。
nc -i 1 183.136.139.16 80 < 192.168.199.146.49570-183.136.139.016.00080
- 使用表达式过滤抓包
tcpflow 也是支持表达式过滤的,格式和 tcpdump 一样,具体格式和对应参数你可以参考 filter expression 。 这里列几种常用的表达式:
# 过滤经过 192.168.1.202 的流量:
tcpflow -i any host 192.168.1.202
# 过滤从主机 192.168.1.202 发出的流量:
tcpflow -i any src host 192.168.1.202
# 过滤从主机 192.168.1.202 发出的流量并且端口号为 80:
tcpflow -i any src host 192.168.1.202 and port 80
# 过滤固定端口的流量:
tcpflow -i en0 any port 443 or port 80
# 过滤主机 192.168.1.202 端口为 80 或 443 的流量:
tcpflow -i en0 'host 192.168.1.202 and (port 80 or port 443)'
...
[置顶] tcpflow 抓包的更多相关文章
- [置顶] android 心跳包的分析
android 心跳的分析 最近在做一个项目中用到了心跳包的机制,其实就是传统的长连接.或许有的人知道消息推送的机制,消息推送也是一种长连接 ,是将数据有服务器端推送到客户端这边从而改变传统的“拉”的 ...
- 几种主流浏览器内置http抓包工具软件使用方法
对于学习网站的人或者相关编程人员,经常需要用到http抓包工具来跟踪网页,但主流抓包软件如httpwatch.httpanalyzerstdv都是收费的,破解版往往也不稳定.实际上现在很多浏览器都内置 ...
- 几种主流浏览器内置http抓包工具软件使用方
对于学习网站的人或者相关编程人员,经常需要用到http抓包工具来跟踪网页,但主流抓包软件如httpwatch.httpanalyzerstdv都是收费的,破解版往往也不稳定.实际上现在很多浏览器都内置 ...
- 真机远程页面调试工具spy-debugger 3.x:集成weinre+AnyProxy,页面调试+抓包。调试生产HTTPS页面。
.页面调试+抓包 2.操作简单 3.支持HTTPS. 4.spy-debugger内部集成了weinre.node-mitmproxy.AnyProxy. 5.自动忽略原生App发起的https请求, ...
- 浏览器内置http抓包工具软件
使用 360极速浏览器抓取HTTP的 请求头 与 响应头: *** 从 工具--->开发人员工具(F12) 或者 直接按下 F12键,打开抓包工具: **** 按下F5刷新: 双击其中的 Nam ...
- 【bb平台刷课记】wireshark结合实例学抓包
[bb平台刷课记]wireshark结合实例学抓包 背景:本校形势与政策课程课需要在网上观看视频的方式来修得学分,视频网页自带"播放器不可快进+离开窗口自动暂停+看完一集解锁下一集(即不能同 ...
- Fiddler 抓包工具总结
阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截制 ...
- charles抓包工具分享
今天,给大组内QA做了一次分享,主要面向移动端测试,介绍了我平时在测试工作中用到的功能,大家都积极响应,现场搭环境,现场操作,现场提问解答,最后大家都成功的利用起来了,感觉很有成就感.下面介绍我今天分 ...
- 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析
作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...
随机推荐
- SharePoint 2013:解决添加域名后每次都需要登录的问题
在SharePoint 2013中,当我们添加一个域名给SP后(添加域名的方法请参考此文:http://www.cnblogs.com/jianyus/archive/2013/08/10/32494 ...
- 动态加入的HTML的自己主动渲染
这两天在写一个用EasyUI的前台,遇到动态向Layout加入HTML内容时没有自己主动渲染的问题.查了一下网上的资料后得以解决.详细例如以下: $("#content").htm ...
- HDU 4503
可以反过来求不是相同关系的小朋友.相当于染色问题吧. 对于A小朋友,它的T个朋友和另外的(N-1-T)个同学就可以组成一个这样的三角形.T*(N-1-T),由于一条非染色边被计算两次,所以除以2. # ...
- 使用Hive的正则解析器RegexSerDe分析nginx日志
1.环境: hadoop-2.6.0 + apache-hive-1.2.0-bin 2.使用Hive分析nginx日志,站点的訪问日志部分内容为: cat /home/hadoop/hivetest ...
- 重学C++ (十一) OOP面向对象编程(2)
转换与继承 本节主要须要区分的是: 基类和派生类的转换: 引用(指针)的转换和对象的转换. 1.每一个派生类对象包括一个基类部分.因此.能够像使用基类对象一样在派生类对象上执行操作. 基于这一点,能够 ...
- MySql免安装版l配置方法
初次接触mysql,折腾了一天,总是安装不成功,服务启动不了.后来从官网下载了ZIP Archive版,不用安装,直接把它解压到磁盘,做一些简单的配置就可以. 软件下载地址:http://dev.my ...
- discuz新的单点论坛(不依赖UCenter)
discuz 本身提供UCENTER用户中心能够实现单点登录. 可是其它应用要单点登录到discuz还是存在若干问题: 须要2次激活.可能造成server无响应,论坛显示的最新注冊用户无法同步更新,官 ...
- activeMQ公布订阅模式中中经常使用工具类
package com.jms; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import javax.j ...
- python lmdb demo 这接口和BDB一样恶心啊!
import lmdb lmdb_img_name = "test.lmdb" env = lmdb.open(lmdb_img_name, map_size=1e6) with ...
- easyui+struts2:datagrid无法不能得到数据
转自:https://bbs.csdn.net/topics/390980437 easyui+struts2:datagrid无法访问到指定action: userlist.jsp部分代码: XML ...