【发布时间】:2017-07-25 12:26:58
【问题描述】:
我正在尝试创建一个程序,该程序将在本地计算机上打开一个端口并让其他人通过 netcat 连接到它。我当前的代码是。
s = socket.socket()
host = '127.0.0.1'
port = 12345
s.bind((host, port))
s.listen(5)
while True:
c, addr = s.accept()
print('Got connection from', addr)
c.send('Thank you for connecting')
c.close()
我是 Python 和套接字的新手。但是当我运行这段代码时,它将允许我使用以下命令发送一个 netcat 连接:
nc 127.0.0.1 12345
但是在我的 Python 脚本中,我收到了 c.send 的错误:
TypeError: a bytes-like object is required, not 'str'
我基本上只是想打开一个端口,允许 netcat 连接并在那台机器上拥有一个完整的 shell。
【问题讨论】:
-
你试过编码了吗?
-
没有。我可以注释掉 c.send 并且它会运行。你认为这个字符串需要编码吗?
标签: python python-3.x