python-tcp/ip网络编程-网络调试助手的使用
本文作者:黎智煊,叩丁狼高级讲师。原创文章,转载请注明出处。
网络调试助手的使用
- 俗话说,好马配好鞍,今天我们来简单认识一下几个平台的网络助手如何使用.
先说一下,假如不是用外部图形化工具的情况下, 我们如何捕获一些网络数据.
- 现在假设一下你正在使用基于BSD,LINUX,UNIX或者MAC OS X,那么你可以利用nc命令进行网络测试,比如说,你用nc监听了一个本地的8889端口,然后你利用浏览器发起请求,你就可以看到请求方的内容了.
又或者换句话说,你需要测试双方电脑的网络是否可达,你就没必要装一个httpd,apache,这样的网页服务器去测试了,直接使用nc命令就可以了.
如图.
叩丁狼教育.png
使用网络调试的好处
- 服务器模式
用来监听本地端口,接收外部数据包,并且可以回复自定义数据 - 客户端模式
用来连接服务器,发送自定义数据包,并接收远程回复数据 - 转发器模式
用来监听本地端口,将接收到的数据包发送给指定的远程服务器,也可以在转发数据流中插入自定义数据向双发发送 - 支持发送ascii字符串数据,以及十六进制表示的原始字节,单次发送的字符数目没有限制
- 收到的数据会同时以这两种形式显示
window端工具
-
软件使用截图
叩丁狼教育.png
linux端网络调试工具
Linux系统下的64位DEB包: http://pan.baidu.com/s/1nt9JW6l
软件也是类似的.
叩丁狼教育.png
mac端网络调试工具
由于本文章也是基于mac来编辑的,所以,下面介绍怎么用,也是用mac来记录了.
安装方法:
- 首先安装brew工具
命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - 安装saka仓库
brew tap rangaofei/saka - 然后安装软件
brew install sokit - 因为要依赖qt,所以安装会稍微慢一点,安装成功后执行命令即可:
sokit
-
软件截图
叩丁狼教育.png
tcp/udp端口可以同时绑定
- 这是测试前的必讲部分
- TCP、UDP可以绑定同一端口来进行通信
- 类似于文件描述符,每个端口都拥有一个叫端口号(port number)的整数型标识符,用于区别不同端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。
如果是测试监听本地端口,必须先监听对应端口
- 这样就同时监听tcp和udp的8080端口,然后一个模拟客户端,一个模拟服务端,
- 服务端写好监听的端口,然后[tCP Listen]和[UDP Listen]都同时勾选,然后下面是有监听成功的提示的
- 客户端的话,就写好发送到对方的ip地址和端口,然后点击[UDP Channel],然后就可以发送数据了,同理,连接和发送成功下面都有显示信息的.
-
类似的,服务端建立好tcp端口的服务,客户端就发送对应内容到tcp对应的端口就可以了.
叩丁狼教育.png
想获取更多技术干货,请前往叩丁狼官网:http://www.wolfcode.cn/all_article.html