
Linux システムで TCP ポートをリッスンし、受信した内容をファイルや stdout にダンプする必要があります。システムには netcat がインストールされていません。ルート権限はありますが、コンプライアンス上の理由から、システムに新しいアプリケーションを追加することはできません。単純な 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()
詳細については、ソケットモジュールのドキュメント、ソケットの使い方、 またはソケットチュートリアル。