Python端口侦听器(如NC)
因此,我想制作一个类似Netcat(nc-l-v-p2121)的Python端口侦听器。我环顾四周,没有找到我要找的东西。我只希望能够通过CLI参数提供一个端口,并在该端口上侦听(python listen.py 2121)。如果有人能给我指出正确的方向,我将不胜感激。查看模块,那里有很多示例。查看模块,那里有很多示例。从模块开始(它是一个内置的) 要设置侦听套接字,请执行以下操作:Python端口侦听器(如NC),python,Python,因此,我想制作一个类似Netcat(nc-l-v-p2121)的Python端口侦听器。我环顾四周,没有找到我要找的东西。我只希望能够通过CLI参数提供一个端口,并在该端口上侦听(python listen.py 2121)。如果有人能给我指出正确的方向,我将不胜感激。查看模块,那里有很多示例。查看模块,那里有很多示例。从模块开始(它是一个内置的) 要设置侦听套接字,请执行以下操作: port = 1234 s = socket.socket() s.bind(("", port)) s.li
port = 1234
s = socket.socket()
s.bind(("", port))
s.listen(1)
一旦套接字正在侦听,您就可以使用
socket.accept()
,在套接字上接受连接,它将返回一个元组,其中包含连接的套接字及其连接的地址。从模块(内置)开始
要设置侦听套接字,请执行以下操作:
port = 1234
s = socket.socket()
s.bind(("", port))
s.listen(1)
套接字监听后,您可以使用
socket.accept()
接受套接字上的连接,它将返回一个元组,其中包含连接的套接字及其连接地址。回答得好。但是请注意,如果您想要nc-kl
而不仅仅是nc-l
,那么您需要某种并发性,无论是事件循环(例如,围绕选择
)还是为每个接受
启动后台线程。另外,如果您希望能够从stdin
以及套接字(就像nc
一样)中读取数据,那么即使是nc-l
,您也已经需要并发了。回答得很好。但是请注意,如果您想要nc-kl
而不仅仅是nc-l
,那么您需要某种并发性,无论是事件循环(例如,围绕选择
)还是为每个接受
启动后台线程。此外,如果您希望能够从stdin
以及套接字中读取数据(就像nc
一样),那么即使是对于nc-l
,您也需要并发。