相信大家做过安卓开发或者安卓自动化测试开发的都离不开adb这个Android Debug Bridge这个工具,该工具有个很重要的功能就是端口转发。比如你在目标安卓机器端建立了一个服务来处理获取当前界面元素,监听的是设备本机网络上的端口5555,那么在pc客户端你就可以执行"adb forward tcp:5555 tcp:5555"来把发送到pc本地的5555端口的数据直接转发到目标安卓机器的服务监听端口上,非常的方便。(这里主要关注的是pc端和安卓机器端通过adb connect ip命令来通过tcp连接起来的情况)。

但问题来了,一般你的目标安卓机器上面的服务去实现监听功能的时候都会去根据pc端发送过来的命令来做不同的处理,那么我们往往就需要去调试我们对这些命令发送接收处理等是否ok,比如客户端发送了个shutdown命令过来,那么你的服务器端是否能正确进行解析和handle呢?甚至有时我们的应用出现bug了,我们需要快速的找到一个方法去发送一个命令过去去检查究竟是客户端还是服务端产生了问题,这个时候如果有一个工具能够让我们快速实现这一点就perfect了。

解决方案来了,今天闲逛国外it网站的时候发现了一个开源工具Packet Sender,该工具可以让我们制定tcp甚至udp端口把相应的命令发送到制定的ip地址上面,同时还支持接收服务端发送回来的回应等,让我们很方便的进行分析。

该工具支持多种平台,如windows,linux,mac,android,甚至命令行。通过下面截图大家会有一个基本的感官认识:

Windows平台:

ubuntu平台:

mac平台:

android平台:

命令行:

工具的使用方式非常直观的简单,所以这里就不费唇舌去打扰大家耳根清静了。更多的信息请访问官方网页:http://packetsender.com/

这里希望带给大家的这个工具能让大家做开发的时候更加得心应手事半功倍,所谓工欲善其事,必先利其器!

作/译者

微信知识共享公众号

CSDN

天地会珠海分舵

TechGoGoGo

http://blog.csdn.net/zhubaitian

Android adb端口转发调试助手Packet Sender的更多相关文章

  1. 【android】Android ADB 端口占用问题解决方案

    解决ADB端口占用问题 方式一5037为adb默认端口,若5037端口被占用,查看占用端口的进程PIDC:\Users\wwx229495>netstat -aon|findstr 5037  ...

  2. Android ADB 端口占用问题解决方案

    问题描述: The connection to adb is down, and a severe error has occured. You must restart adb and Eclips ...

  3. android adb端口被占用解决方法

    1.输入adb devices命令 C:\Users\Nick>adb devices List of devices attached adb server version (31) does ...

  4. 使用ADB无线连接Android真机进行调试

    使用ADB无线连接Android真机进行调试   其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...

  5. Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】

    首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...

  6. adb链接手机调试android应用

    adb链接手机调试android应用 hulk@hulk-Lenovo:~$ adb devices List of devices attached  ???????????? no permiss ...

  7. Android adb调试

    1.首先是adb 修改 devices/amlogic/p201_iptv/system.prop service.adb.tcp.port=5555 或者直接在盒子串口下修改 system/buil ...

  8. adb Android Debug Bridge 安卓调试桥

    adb devices 获取设备列表及设备状态 adb get-state 获取设备的状态,设备的状态有 3 钟,device , offline , unknown device:设备正常连接 of ...

  9. Mac下如何进行端口转发,方便一系列需要使用80端口进行的调试工作

    上篇文章介绍到,可以在本地hosts文件中添加一条记录将微信公众号中的可信域名解析道本地127.0.0.1,但tomcat在Mac下非root权限80端口是启动不了的,所以我们可以利用pfctl端口转 ...

随机推荐

  1. docker 现实---联网多台物理主机,容器桥到物理网络(三)

    docker 默认桥接卡docker0 只有当这个单元中的所有容器桥接卡.例如,在主机虚拟网络适配器容器看通常称为veth***  和docker只要把这些卡桥接在一起,例如下面的附图: waterm ...

  2. PHP redis操作类 个人总结

    <pre name="code" class="php"><span style="font-size:18px;"> ...

  3. 跨域 Iframe 通信解决方案(兼容 IE 系列浏览器。)

    实现思路: 1.postMessage(IE8+, Firefox 3.1+, Opera 9+, Safari, and Chrome) 2.利用window.navigator共享信息,使支持IE ...

  4. QR代码简单

    QR代码(Quick Response Code, 高速响应码)属于二维矩阵码在一个.由DENSO(日本电装)公司开发,由JIS和ISO将其标准化. QR码分为两种模式:模式1.模式2.当中.模式1相 ...

  5. mac系统连接android电话

    mac该系统不能连接android手机问题解决: 1.将电话 2.到场android手机vendor ID: 终端业务CMD:  system_profiler SPUSBDataType 在列出的u ...

  6. Cts框架解析(7)-任务运行的调度室

    TestInvocation /** * {@inheritDoc} */ @Override public void invoke(ITestDevice device, IConfiguratio ...

  7. USACO maze1 BFS

    不写了很长的时间bfs该,很长一段时间的中间失误,当延期一次延伸成功的新节点的节点应该被标记为参观.否则,在某些情况下无限期延长队列. 输入一个小坑爹处理称号,能够进来当字符串被读取.然后用周围的墙上 ...

  8. mysql压力测试

    1.采用 mysqlslap  压力测试 mysqlslap  --defaults-file=/etc/my.cnf --concurrency=200 --iterations=1 --numbe ...

  9. C++ Primer 学习笔记_43_STL实践与分析(17)--再谈迭代器【中】

    STL实践与分析 --再谈迭代器[中] 二.iostream迭代[续] 3.ostream_iterator对象和ostream_iterator对象的使用 能够使用ostream_iterator对 ...

  10. HDU 2082-找单词(母函数)

    找单词 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...