
Ich brauche ein Linux-System, das auf einem TCP-Port lauscht und die empfangenen Daten in eine Datei und/oder auf Standardausgabe überträgt. Auf dem System ist Netcat nicht installiert. Ich habe Root-Berechtigungen, darf dem System aber aus Compliance-Gründen keine neuen Anwendungen hinzufügen. Ist dies mit einem einfachen Bash-, Perl- oder Python-Skript möglich? Je einfacher, desto besser.
Antwort1
So öffnen Sie einen zufälligen Port mit Python:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))
So finden Sie heraus, welchen Port Sie geöffnet haben:
s.getsockname()[1]
So schließen Sie den Port:
s.close()
Weitere Informationen finden Sie unterdie Dokumentation zum Sockelmodul,die Steckdosen-Anleitung, oderein Socket-Tutorial.