1

セカンダリ IP にバインドしてサーバーに接続する python ソケット スクリプトを作成しようとしています。スクリプトの python を実行すると、「socket.error: [Errno 111] 接続が拒否されました」というメッセージが表示されます

TCPdump は、接続しようとしているサーバーがリセット応答を返したことを示しています。socket.bind なしでスクリプトを実行すると機能します。

スクリプト:

import socket
port = 9009
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("123.123.123.123", port)) # Not the real IP I use
sock.connect(("81.236.48.66", 80)) # Raises connection refused

tcpdump:

11:22:08.211502 IP 123.123.123.123.9009 > 81.236.48.66.80: Flags [S], seq 3687363746, win 5840, options [mss 1460,sackOK,TS val 1304421782 ecr 0,nop,wscale 6], length 0
11:22:08.211763 IP 81.236.48.66.80 > 123.123.123.123.9009: Flags [R.], seq 0, ack 3687363747, win 5840, length 0

Linuxボックスでスクリプトを実行し、コマンド「ip list all」を使用すると、使用するセカンダリIPがリッスンされます

私はソケットプログラミングの経験があまりないので、ご容赦ください。

4

1 に答える 1

0

エラーが見つかりました。ファイアウォールは、応答をブロックするように構成され、リセット フラグを送信しました。

于 2011-10-09T14:31:23.263 に答える