【Tcpcopy】离线回放功能
最近因调试问题,需要一直进行tcpcopy,拿有问题的包进行测试。决定使用tcpcopy对录制脚本进行回放,以下为我操作的具体步骤。主要是三块
1 下载安装具有离线回放功能的tcpcopy
2 使用tcpdump进行脚本录制
3 回放离线文件
一 tcpcopy下载安装
原微博里说0.98版本以上即可支持离线回放功能。保险起见,我下载了最新的即1.0.0版本的tcpcopy和intercept来测试离线回放。
tcpcopy的git路径:https://github.com/wangbin579/tcpcopy
intercept的git路径:https://github.com/wangbin579/intercept
分别上传到对应的服务器和客户端,进行安装
tcpcopy安装步骤:
1 上传至路径/opt/soft,并解压 tar -xzvf tcpcopy-1.0.0.tar.gz
2 cd /opt/soft/tcpcopy-1.0.0/进入路径,执行./configure --offline(若不能执行成功,则使用./configure --help进行查看)
3 make
4 make install
intercept安装步骤:
1 上传至路径/opt/soft,并解压 tar -xzvf intercept-1.0.0.tar.gz
2 cd /opt/soft/intercept-1.0.0/进入路径,执行./configure --offline(若不能执行成功,则使用./configure --offline进行查看)
3 make
4 make install
问题1 :“can't find pcap.h”(网卡流量监控软件),需要安装libpcap-devel。
1 yum list libpcap-devel*查到到对应的lib包名称
2 yum install libpcap-devel.x86_64
二 使用tcpdump录制pcap离线文件
tcpdump -i eth0 -w online.pcap tcp and port 80
-i eth0:eth0为网卡,获取方式可在liunx系统下执行ifconfig查看所有的网卡,选取需要的那个。
-w online.pcap:为获取pcap文件进行回放,可设置路径,e.g. -w /home/user/test.pcap
tcp and port 80:截获端口为80的tcp请求,也可添加udp请求,和更改服务端口80,e.g. tcp and port 16001
-s 0:默认的话,tcpdump只显示部分数据包,-s snaplen是控制包长度的,默认是68字节,-s 0 则为全部字节,在使用过程中,如果添加-s则回放时会出现错误。可不使用该参数
三 回放
1 whereis tcpcopy,可在/usr/local/tcpcopy/sbin下发现tcpcopy命令
2 ./tcpcopy -x 16001-服务器ip:16001 -s 服务器ip -i /home/user/test.pcap
3 服务端抓包测试:tcpdump -n port 16001
【Tcpcopy】离线回放功能的更多相关文章
- tcpcopy + tcpdump 离线回放
简单来说,就是用tcpdump记录线上请求,用tcpcopy来重放,如下图所示: 有关 tcpdump 的命令详解请参考: http://www.cnblogs.com/ggjucheng/arc ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.2,增加离线消息、离线文件功能(源码)
(几句题外话:虽然就如何将GG发展为一个有商业价值的产品,我还没有很清晰明确的思路,但是从GG发布以来,通过GG认识了一些朋友,也接了一些小单子,赚了一点小钱.有了一点甜头,目前和2.3个好朋友一起做 ...
- HTML5 的 applicationCache 应用程序缓存离线存储功能与 manifest 文件
一. 实现 HTML5 applicationCache 的步骤 一般的操作步骤 1. 新建 manifest 文件 如文件名为 lzwme.manifest,内容配置参考如下: 01 CACHE ...
- 用Hopper搞定Mac迅雷的会员以及离线下载功能
转自 用Hopper搞定Mac迅雷的会员以及离线下载功能 先定位Mac迅雷的可执行文件 snakeninnys-iMac:~ snakeninny$ ls /Applications/Thunder. ...
- 如何使用JS来开发室内三维地图的轨迹回放功能
在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回 ...
- Fiddler插件开发 - 实现网站离线浏览功能
有这么一种应用场景: 你是做前端或APP开发的,需要调用服务端提供的接口,接口只能在公司内网访问:在公司外就无法调试代码了. 想在公司外访问怎么办呢? 如果在公司的时候将所有接口的响应内容都保存起来, ...
- 百度语音识别demo:去掉离线识别功能
如果离线识别功能不是必须的,则为了减小包体积,可按下面方法将官方demo中的离线功能去掉: 1,删除loadOfflineEngine调用.2,删除data和license文件夹. 如此可使包体积减少 ...
- EasyPlayerPro Windows播放器实时流进行本地缓冲区即时回放功能实现
背景描述 参照国内视频监控行业监控软件,实现当前视频的即时回放功能,例如: 监控人员发现刚刚的某个视频点有可疑,就像录像回放一样,想倒回去看一下,但又不想切换到录像回放界面, 此处就体现即时回放的价值 ...
- 如何实现LBS轨迹回放功能?含多平台实现代码
本篇文章告诉您,如何实现轨迹回放.并且提供了web端,iOS端,Android端3个平台的轨迹回放代码.拷贝后可以直接使用.另外,文末有小彩蛋,算是开发者的福利. Web端/JavaScript 实现 ...
随机推荐
- python logging 日志轮转文件不删除问题
前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logg ...
- MyBatis对不同数据库的主键生成策略
本文转自:http://289972458.iteye.com/blog/1001851 http://hi.baidu.com/zim_it/blog/item/8a2bd11205f5b56ec ...
- python学习笔记11(函数二): 参数的传递、变量的作用域
一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> ...
- 山东省第四届ACM大学生程序设计竞赛解题报告(部分)
2013年"浪潮杯"山东省第四届ACM大学生程序设计竞赛排名:http://acm.upc.edu.cn/ranklist/ 一.第J题坑爹大水题,模拟一下就行了 J:Contes ...
- 远程登陆MS azure Linux 虚拟机
http://blogs.technet.com/b/uktechnet/archive/2013/11/12/running-a-remote-desktop-on-a-windows-azure- ...
- 错误:[将截断字符串或二进制数据。\r\n语句已终止。]
错误:[将截断字符串或二进制数据.\r\n语句已终止.] 解决方法是将数据库表这列的长度调大一点
- Linux rm命令
rm可以用来删除文件和文件夹. rm --help Usage: rm [OPTION]... FILE... Remove (unlink) the FILE(s). -f, --force ...
- gcc,g++,extern “C” :一些编译错误的缘由
正好是我们代码中遇到的问题,之前不求甚解,只用g++编译没有错误就不管了,现在要跨平台到windows下就遇到了问题.全文转载自:http://user.qzone.qq.com/75172588/b ...
- android 使用Activity做窗口弹出(模拟Dialog)
我们下面使用Activity,模拟一个dialog: 首先看布局: <?xml version="1.0" encoding="utf-8"?> & ...
- Django用户认证系统(三)组与权限
Django的权限系统很简单,它可以赋予users或groups中的users以权限. Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中. User对象具有两个ManyTo ...