如何在 python 中实现 nc 命令?
How to implement nc commands in python?
我是开发新手,我是否知道以下 net cat 命令的等效 python 脚本。
nc -v localhost 11211
#更新
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('localhost', 11211))
data = s.recv(1024)
print(s.sendall(data.encode('get STATUS_MANAGER_KEYS')))
except:
print('error')
finally:
s.close()
如上更改,但它在第 data = s.recv(1024)
行显示无限执行。我可以知道如何解决这个问题吗?
您想研究套接字编程。这是我在网上找到的一个例子 https://steelkiwi.com/blog/working-tcp-sockets/
如您所见,netcat 所做的只是创建到网络地址和端口的 tcp 连接。它绑定到它。
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('localhost', 11211))
s.listen(1)
conn, addr = s.accept()
while 1:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
conn.close()
您可能还想在网络套接字上查看此维基百科https://en.wikipedia.org/wiki/Network_socket
我是开发新手,我是否知道以下 net cat 命令的等效 python 脚本。
nc -v localhost 11211
#更新
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('localhost', 11211))
data = s.recv(1024)
print(s.sendall(data.encode('get STATUS_MANAGER_KEYS')))
except:
print('error')
finally:
s.close()
如上更改,但它在第 data = s.recv(1024)
行显示无限执行。我可以知道如何解决这个问题吗?
您想研究套接字编程。这是我在网上找到的一个例子 https://steelkiwi.com/blog/working-tcp-sockets/
如您所见,netcat 所做的只是创建到网络地址和端口的 tcp 连接。它绑定到它。
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('localhost', 11211))
s.listen(1)
conn, addr = s.accept()
while 1:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
conn.close()
您可能还想在网络套接字上查看此维基百科https://en.wikipedia.org/wiki/Network_socket