MacOS Netcat通信解决方案- python

本文介绍了如何使用Python的telnetlib模块解决与Netcat服务端通信问题,通过Telnet实现跨平台持续交互,重点展示了连接过程和关键命令的发送与响应.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户做一个用Netcat实现的通信的服务端。需要我们这边实现向这个服务端发数据。

用python 的tcp socket方式发现回复一次之后就终止了。这个socket库不太够用。

今天在研究MacOS telnet通信的时候发现用telnet能实现跟Netcat 服务端通信。

# -*- coding: utf-8 -*-

import telnetlib

'''Telnet远程登录:Windows客户端连接Linux服务器 ,实现与MacOS b-l v4.0进行简单通信'''

# 配置选项
Host = 'localhost'  # Telnet服务器IP

# 连接Telnet服务器
tn = telnetlib.Telnet(Host, port=1111, timeout=10)
tn.set_debuglevel(2)
finish_bali="@\n"  # 命令提示符(标识着上一条命令已执行完毕)
# 输入登录用户名
print(">>> read login")
tn.write("CCQxxxxx@start".encode('ascii')+b'\n')
tn.read_until(finish_bali.encode('ascii'))
tn.write("CCQxxxxx@pdata@first@1.0".encode('ascii')+b'\n')
tn.read_until(finish_bali.encode('ascii'))
tn.write("CCQxxxxx@dut_pos@INS0123H".encode('ascii')+b'\n')
tn.read_until(finish_bali.encode('ascii'))
tn.write("CCQxxxxxK@submit@1.0".encode('ascii')+b'\n')
tn.read_until(finish_bali.encode('ascii'))

tn.close()

需要注意:finish_bali这个结束符,通道会一直等到这个结束符才会发下一个指令。如果给了错误结束符会一直卡在等待那里。不会执行下一个write,也不会结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值