Ich möchte ein Programm nehmen P
, das von stdin
& schreibt stdout
, aber es verbindet nc
oder was auch immer, so dass es von einem bestimmten Port liest und an einen anderen Port ausgibt.
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
Wie kann ich es zurückschreiben, um Port 60606 zu sagen?
P
und erwarten, dass die AusgabeP
der zweiten TCP-Verbindung gelesen wird ? Warum das UDP-Tag?UDP
ich denke, ich wollteports
, aber das war kein existierendes Schlüsselwort, also dachte ichTCP
, und ich denke, ich fügteUDP
aus Reflex hinzu.Antworten:
Ich meine, jemand kann 2 TCP-Verbindungen zu Ihrem Computer öffnen, eine zu Port 50505 und eine zu Port 60606, Daten über die erste senden, die an P weitergeleitet werden soll, und erwarten, dass die Ausgabe von P von der zweiten TCP-Verbindung gelesen wird. dann wäre das:
Oder mit
socat
:Um
P
die Ausgabe an dieselbe Verbindung zurückzusenden:quelle
Sie brauchen nicht
nc
, um mit Ports zu arbeiten.bash
kann das selbst machen:quelle
/dev/tcp
ist oft deaktiviert und kann nicht zum Hören verwendet werden . Sie benötigenzsh
eine Shell, die abhörende TCP-Sockets erstellen kann.ztcp -l
zum Abhören undztcp -a
zum Akzeptieren von Verbindungen an der Abhörbuchse ).