不使用 netcat 是否可以打开端口进行监听?

不使用 netcat 是否可以打开端口进行监听?

我需要一个 Linux 系统来监听 TCP 端口并将收到的内容转储到文件和/或标准输出。系统未安装 netcat。我拥有 root 权限,但出于合规性原因不允许向系统添加新应用程序。是否可以使用简单的 bash、perl 或 python 脚本来执行此操作?越简单越好。

答案1

使用 Python 打开随机端口:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))

要找出您打开了哪个端口:

s.getsockname()[1]

关闭端口:

s.close()

欲了解更多信息,请阅读套接字模块的文档套接字使用方法, 或者套接字教程

相关内容