У меня есть потребность в системе Linux для прослушивания порта TCP и выгрузки того, что она получает, в файл и / или стандартный вывод. В системе не установлен netcat. У меня есть права доступа root, но я не могу добавлять новые приложения в систему по соображениям соответствия. Можно ли сделать это с помощью простого скрипта bash, perl или python? Чем проще, тем лучше.
1 ответ
3
Чтобы открыть случайный порт с помощью Python:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))
Чтобы узнать, какой порт вы открыли:
s.getsockname()[1]
Чтобы закрыть порт:
s.close()
Для получения дополнительной информации прочитайте документацию по модулю сокета, инструкции по работе с сокетом или руководство по сокету.