[置顶]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)'...

转载于:https://www.cnblogs.com/leonxyzh/p/7288971.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284494.shtml

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

相关文章

spark-2.1.0 集群安装

1、spark安装前提——必须安装好Hadoop&#xff08;本人有三台机&#xff0c;已安装好Hadoop&#xff09; 2、下载spark&#xff0c;解压至master机本地文件 3、修改/conf/spark-env.sh&#xff08;原名spark-env.sh.template&#xff0c;把它改过来&#xff09; 配置如下&…

如何用grep命令同时显示“匹配行”上下的n行?

如何用grep命令同时显示匹配行上下的n行 标准unix/linux下的grep通过以下参数控制上下文grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5行grep -A 5 foo file 显示foo及后5行

【CASS精品教程】CASS自动插入DOM影像(附插件下载)

本文讲解在CASS中快速自动插入栅格数据(影像、DOM、DEM)等,支持tif、img等格式。 文章目录 一、效果预览二、插件安装三、插件下载一、效果预览 二、插件安装 打开CASS9.1软件,输入命令appload,回车。 选择插入影像插件,点击【加载】。 输入命令aimg,回车,可以进行影像…

用python来获取Github IP地址

Title: 快速获Github网站的IP地址 Author: JackieZheng Date: 2022-01-20 19:37:35 LastEditTime: 2022-01-22 09:14:49 LastEditors: Please set LastEditors Description: FilePath: \\vsTemp\\gitdns.pyimport os import sys import re import shutil import requestshosts_…

DNS原理及其解析过程【精彩剖析】

DNS原理及其解析过程精彩剖析原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/812889网络通讯大部分是基于TCP/IP的&#xff0c;而TCP/IP是基于IP地址的&am…

sybase sp_procxmode简述

今天整合存储过程的脚本时&#xff0c;看到如下语句&#xff1a; sp_procxmode P_InitTaskByCond, anymodeGO 于是查询了一下【sp_procxmode】 的一些简单介绍&#xff0c;进行记录一下&#xff1a;整理中 https://www.google.com.hk/search?newwindow1&safestrict&si…

基于Kubernetes v1.24.0的集群搭建(二)

上一篇文章主要是介绍了&#xff0c;每台虚拟机的环境配置。接下来我们开始有关K8S的相关部署。另外补充一下上一篇文章中的K8S的changelog链接&#xff1a;https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md1 配置yum源 所有节点都需要执行此…

[转]Python 获取Windows管理员权限

最近在写一个可以自动更换 hosts 的 python 脚本&#xff0c;但是操作 hosts 需要管理员权限 &#xff0c;所以就想着要怎么获取。 总结了一下&#xff0c;有三种方法可以获取&#xff0c;下面分别介绍一下。 1. 以管理员运行 cmd 这个方法很简单&#xff0c;也无需多说&#x…

JavaScript中的一些特殊用法(一)

为什么80%的码农都做不了架构师&#xff1f;>>> 1. 不使用script自闭合标签 script中使用自闭合标签&#xff0c;虽然他在XHTML中合法&#xff0c;但是不符合HTML规范&#xff0c;而且得不到某些浏览器的正确解析。我曾经就在引入EXT时使用此方式&#xff0c;导致无…

SPICE简史

如今每一天都有不知其数的半导体芯片设计公司与设计验证工程师&#xff0c;在用着电路仿真软件SPICE。SPICE广泛应用在仿真模拟电路&#xff08;例如运放Op Amp&#xff0c;能隙基准稳压电源Bandgap Reference&#xff0c;数模/模数转换 AD/DA等&#xff09;&#xff0c;混合信…

【GlobalMapper精品教程】003:影像裁剪、批量影像分幅案例详解

本文以案例的形式&#xff0c;讲解Globalmapper中进行影像矩形框裁剪&#xff0c;矢量范围裁剪&#xff0c;标准图幅批量分幅的方法&#xff0c;配套实验数据为数据包中的data003.rar。订阅专栏后私信作者&#xff0c;获取中文安装包及配套实验数据包&#xff0c;便于同步学习。…

基于Kubernetes v1.24.0的集群搭建(三)

1 使用kubeadm部署Kubernetes 如无特殊说明&#xff0c;以下操作可以在所有节点上进行。1.1 首先我们需要配置一下阿里源cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] nameKubernetes baseurlhttp://mirrors.aliyun.com/kubernetes/yum/repos/kubernet…

C++获取本机的ip地址程序

C获取本机的ip地址程序 #include <WinSock2.h> #pragma comment(lib,"ws2_32") //链接到ws2_32动态链接库class CInitSock { public:CInitSock(BYTE minorVer 2,BYTE majorVer 2){WSADATA wsaData;WORD VersionRequset;VersionRequset MAKEWORD(mino…

BAT批处理代码快速打开注册表并定位到指定目录

主要代码&#xff1a; echo off echo %1 copy %~nx0 c:\windows\system32 if "%1" NEQ "" (set regPath%1) else (set /p regPath输入打开的注册表路径:) :trimRight if "%regPath:~-1%""\" set "regPath%regPath:~0,-1%" …

Elasticsearch的Groovy Script自定义评分检索

需求&#xff1a;以索引中的boostapp列作为评分的基础分值&#xff0c;同时根据carpublishtime&#xff08;数据的刷新时间字段&#xff09;按时间进行衰减。 基于Groovy脚本实现。 1、query脚本方式&#xff1a; {"fields": ["boost","ucarid",…

stm32串口通讯问题

stm32串口通讯问题 在串口试验中&#xff0c;串口通讯不正常&#xff0c;则可能会出现以下问题&#xff1a; 1. 配置完成后&#xff0c;串口没有任何消息打印。 原因&#xff1a;1&#xff0c;端口配置有问题&#xff0c;需要重新检查I/O口的配置 2&#xff0c;接线有问题&…

中国元宇宙白皮书

PS&#xff1a;PDF目录&#xff08;书签&#xff09;是为便于阅读&#xff0c;重新整理过的。 2022《中国元宇宙白皮书》-互联网文档类资源-CSDN下载1月26日&#xff0c;2022《中国元宇宙白皮书》在北京中关村正式全网发布。该白皮书由国科创新研究院首席科学家更多下载资源、学…

【GlobalMapper精品教程】002:GlobalMapper中文版安装后的基本设置

本文讲述安装globalmapper后的一些简单基本设置&#xff08;持续更新&#xff09;&#xff0c;为后续深入学习软件打下基础。订阅专栏后私信作者&#xff0c;获取中文安装包及配套实验数据包。 文章目录1. 工具条的显示与关闭2. 面积单位设置3. 选择所选面要素的边框4. 二三维联…

SaltStack入门篇之远程执行和配置管理

一、SaltStack概述 Salt&#xff0c;,一种全新的基础设施管理方式&#xff0c;部署轻松&#xff0c;在几分钟内可运行起来&#xff0c;扩展性好&#xff0c;很容易管理上万台服务器&#xff0c;速度够快&#xff0c;服务器之间秒级通讯。 salt底层采用动态的连接总线, 使其可以…

ArgoCD 用户管理、RBAC 控制、脚本登录、App 同步

命令行登录参考&#xff1a;argocd 登录登出[1]登录&#xff1a;echo y | argocd login argocd-server.argocd.svc.cluster.local --password argoadmin.smallsoup --username admin登出&#xff1a;argocd logout argocd-server.argocd.svc.cluster.local创建用户、授权创建用…