python-tcp/ip网络编程-网络调试助手的使用

本文作者:黎智煊,叩丁狼高级讲师。原创文章,转载请注明出处。

网络调试助手的使用

  • 俗话说,好马配好鞍,今天我们来简单认识一下几个平台的网络助手如何使用.
  • 先说一下,假如不是用外部图形化工具的情况下, 我们如何捕获一些网络数据.

  • 现在假设一下你正在使用基于BSD,LINUX,UNIX或者MAC OS X,那么你可以利用nc命令进行网络测试,比如说,你用nc监听了一个本地的8889端口,然后你利用浏览器发起请求,你就可以看到请求方的内容了.
  • 又或者换句话说,你需要测试双方电脑的网络是否可达,你就没必要装一个httpd,apache,这样的网页服务器去测试了,直接使用nc命令就可以了.

  • 转发器模式
    用来监听本地端口,将接收到的数据包发送给指定的远程服务器,也可以在转发数据流中插入自定义数据向双发发送
  • 支持发送ascii字符串数据,以及十六进制表示的原始字节,单次发送的字符数目没有限制
  • 收到的数据会同时以这两种形式显示
  • window端工具

    http://gd2.greenxf.com:8099/%E7%BD%91%E7%BB%9C%E5%B7%A5%E5%85%B7/%E7%BD%91%E7%BB%9C%E7%9B%91%E6%B5%8B/netassist.4(www.greenxf.com).rar

    软件使用截图

  • 首先安装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
  • 这是测试前的必讲部分
  • TCP、UDP可以绑定同一端口来进行通信
  • 类似于文件描述符,每个端口都拥有一个叫端口号(port number)的整数型标识符,用于区别不同端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。
  • 如果是测试监听本地端口,必须先监听对应端口

  • 这样就同时监听tcp和udp的8080端口,然后一个模拟客户端,一个模拟服务端,
  • 服务端写好监听的端口,然后[tCP Listen]和[UDP Listen]都同时勾选,然后下面是有监听成功的提示的
  • 客户端的话,就写好发送到对方的ip地址和端口,然后点击[UDP Channel],然后就可以发送数据了,同理,连接和发送成功下面都有显示信息的.
  • 类似的,服务端建立好tcp端口的服务,客户端就发送对应内容到tcp对应的端口就可以了.