
Мне нужно, чтобы система Linux прослушивала порт TCP и выгружала то, что она получает, в файл и/или stdout. В системе не установлен 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()
Для получения более подробной информации прочтитедокументация для модуля сокета,как пользоваться сокетом, илиучебник по сокету.