本文,是关于socket调试在mac,linux,windows三端的测试工具的介绍和使用。

好东西有很多,在此仅仅列举一二。

.

一、linux 网络调试助手

linux端一款不错的socket调试工具,叫“mNetAssist”也行,直接叫做“网络调试助手”也行。

感谢作者

感谢开源。

几个小特点。

1.UDP通讯;

2.可做 TCP客户端;

3.可做 TCP服务器;

4.可以“十六进制”传送接收数据;

5.可以传送和接收数据文件;

6.TCP服务器模式时支持群聊模式;

7.支持中文;

软件界面

.

.

使用初探

我们用python写一个简单的udp代码测试一下。

/Users/amqr/PycharmProjects/testPj/venv/bin/python /Users/amqr/PycharmProjects/testPj/udpSend.py

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:1

请输入要发送的数据:发送到linux

请输入对方的ip地址:10.211.55.6

请输入对方的port:6883

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:1

请输入要发送的数据:fine,good job.this is the second msg

请输入对方的ip地址:10.211.55.6

请输入对方的port:6883

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:2

>>>('10.211.55.6', 6883):from linux is ok?

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:

.

.

如下是接收完第二条消息之后,又发送回一条消息的界面

image.png

.

.

附上python代码

import socket

def send_msg(udp_socket):

"""获取键盘数据,并将其发送给对方"""

# 1. 从键盘输入数据

msg = input("\n请输入要发送的数据:")

# 2. 输入对方的ip地址

dest_ip = input("\n请输入对方的ip地址:")

# 3. 输入对方的port

dest_port = int(input("\n请输入对方的port:"))

# 4. 发送数据

udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))

def recv_msg(udp_socket):

"""接收数据并显示"""

# 1. 接收数据

recv_msg = udp_socket.recvfrom(1024)

# 2. 解码

recv_ip = recv_msg[1]

recv_msg = recv_msg[0].decode("utf-8")

# 3. 显示接收到的数据

print(">>>%s:%s" % (str(recv_ip), recv_msg))

def main():

# 1. 创建套接字

udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2. 绑定本地信息

udp_socket.bind(('', 6669))

while True:

# 3. 选择功能

print("="*30)

print("1:发送消息")

print("2:接收消息")

print("="*30)

op_num = input("请输入要操作的功能序号:")

# 4. 根据选择调用相应的函数

if op_num == "1":

send_msg(udp_socket)

elif op_num == "2":

recv_msg(udp_socket)

else:

print("输入有误,请重新输入...")

if __name__ == "__main__":

main()

.

.

二、windows 网络调试工具

这个比较常见。

image.png

image.png

使用

简单python客户端向服务器发送消息

/Users/amqr/PycharmProjects/testPj/venv/bin/python /Users/amqr/PycharmProjects/testPj/04-tcp-客户端(client).py

请输入要链接的服务器的ip:10.211.55.4

请输入要链接的服务器的port:6666

请输入要发送的数据:tcp test

Process finished with exit code 0

.

.

界面图

界面.png

.

.

python 代码

import socket

def main():

# 1. 创建tcp的套接字

tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 2. 链接服务器

# tcp_socket.connect(("192.168.33.11", 7890))

server_ip = input("请输入要链接的服务器的ip:")

server_port = int(input("请输入要链接的服务器的port:"))

server_addr = (server_ip, server_port)

tcp_socket.connect(server_addr)

# 3. 发送数据/接收数据

send_data = input("请输入要发送的数据:")

tcp_socket.send(send_data.encode("utf-8"))

# 4. 关闭套接字

tcp_socket.close()

if __name__ == "__main__":

main()

.

.

三、mac 网络调试工具 sokit

mac下有一款PacketSender非常出名。

不过我们现在要说的是国人开发的 [sokit]

感谢作者 sakasa

安装过程

1、安装saka仓库

brew tap rangaofei/saka

2、安装软件

brew install sokit

因为要依赖qt,所以安装会稍微慢一点,安装成功后执行命令即可:

3、启动

sokit

使用

我们以为udp的发送和接收为例子。

代码还是上面在linux的代码。

控制台日志:

/home/parallels/PycharmProjects/testPj/venv/bin/python /home/parallels/PycharmProjects/testPj/udptest.py

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:1

请输入要发送的数据:test to mac

请输入对方的ip地址:192.168.0.103

请输入对方的port:6772

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:2

>>>('192.168.0.103', 56230):back to linux

==============================

1:发送消息

2:接收消息

==============================

请输入要操作的功能序号:

.

.

sokit界面

作为服务端接收消息

image.png

作为客户端发送消息

image.png

至此,三端介绍完毕。

本文完。

END.

python开发的网络调试助手_Linux/windows/mac 下的socket网络通信调试助手 UDP/TCP相关推荐

  1. 【使用PyCharm进行Python开发:如何通过右键Run运行程序】-PyCharm是一款强大的Python开发工具,提供了方便快捷的编写、测试和调试Pyth...

    [使用PyCharm进行Python开发:如何通过右键Run运行程序]-PyCharm是一款强大的Python开发工具,提供了方便快捷的编写.测试和调试Python代码的功能.在编写完Python代码 ...

  2. 用Javascript代码实现浏览器菜单命令(以下代码在 Windows XP下的浏览器中调试通过

    每当我们看到别人网页上的打开.打印.前进.另存为.后退.关闭本窗口.禁用右键等实现浏览器命令的链接,而自己苦于不能实现时,是不是感到很遗憾?是不是也想实现?如果能在网页上能实现浏览器的命令,将是多么有 ...

  3. python批量读取dat文件_python编写Windows环境下批量修改文件名

    在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...

  4. Q113:PBRT-V3分别在Linux和Mac下的编译与调试(汇总)

    Linux系统下: Q106:Linux系统下安装编译PBRT-V3 Q107:Linux系统下GDB对PBRT-V3进行debug 另外,也可以直接用CodeBlocks: Q115:Linux系统 ...

  5. mac下使用夜神模拟器调试

    mac下调试安卓应用,由于手机没有root,下载了夜神模拟器,吐槽一下,内置应用很不爽, 安装应用也不支持简单拖拽,好在自带root权限,也支持native库. 下载夜神模拟器,进入设置,多次点击版本 ...

  6. python开发的网络调试助手_用python来调试网络程序

    需要联调的程序,沟通联调起来总是各种麻烦,如果自己能写个简单一点的"测试机",事情就很easy了:或者有时候想做"中间人",看看网路上到底传些什么.前面写了串口 ...

  7. Python开发技术—网络爬虫(代码在置顶文章)

    第1关:urllib 任务描述 本关任务:使用python内置库urllib发起请求并返回状态码. 相关知识 Get urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET ...

  8. Python开发技术—网络爬虫

    第1关:urllib 任务描述 本关任务:使用python内置库urllib发起请求并返回状态码. import urllib.request import sys def Evidence(url) ...

  9. python开发gui网络ping测试_网络工程师使用python实践2_ping测试

    背景介绍 在工作中,我们常常会遇到需要进行网络连通性测试,比如:网络割接后,需要ping大量的IP地址,并记录ping的结果.为了避免这种机械的工作,用python写了一个可以自动进行ping测试,并 ...

  10. Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#

    又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了req ...

最新文章

  1. PCL两种方式的点云读写
  2. 删除目录下的特定命名的图片,获取特定名称图片的路径
  3. oracle12c bug,Oracle12c R2注意事项: 因BUG生成大量的trace file 包含KRB: (rman module)
  4. 成功解决ImportError: Could not find ‘cudart64_90.dll‘. TensorFlow requires that this DLL be installed in
  5. ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化
  6. python 判断等于0_Python 条件语句介绍
  7. 无限踩坑系列(6)-mySQL数据库链接错误
  8. html css周志,【嘉兴东臣php】HTML+CSS+JS周总结
  9. 元素定位(d4-2)
  10. 当万物互联触手可及 你准备好了吗?
  11. matlab数字图像处理-找不同
  12. 华为CANN训练营笔记——应用开发全流程 [5](with 代码版)
  13. oracle北京时区,Oracle中的时区偏移
  14. Cesium 监听地图缩放
  15. 自动获取verycd feed中的下载链接
  16. 区块链入门系列之梅克尔帕特里夏树
  17. html插入swf自动播放,[转载]网页中插入FLASH(swf文件)的html代码
  18. [内存管理]内存池pool库
  19. 卸载自装python
  20. pyepics PV -- 2

热门文章

  1. 小白帽从病毒视角聊企业安全建设
  2. Windows All 系统下载
  3. sqlplus linux 连接数据库,sqlplus连接Oracle
  4. 计算机股票编程,计算机技术《股票软件编程》.doc
  5. Android系统开机优化
  6. Mapped Statements collection already contains value for com.wen.mapper.ProjectMapper.xxx
  7. SOTA级发丝抠图模型PP-Matting开源,支持多场景精细化分割
  8. 在xp3下,Apache , PHP, Zend Studio怎样配置环境?
  9. NT平台ADSL拨号连接密码恢复原理
  10. 论文篇-----基于机器学习的交通流预测技术的研究与应用