[解決済み] 要求されたアドレスは、そのコンテキストでは有効ではありません。
質問内容
Black Hat Python"というチュートリアルを追っていたところ、"the requested address is not valid in its context"というエラーが発生しました。Python IDEのバージョンは2.7.12です。 これは私のコードです。
import socket
import threading
bind_ip = "184.168.237.1"
bind_port = 21
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((bind_ip,bind_port))
server.listen(5)
print "[*] Listening on %s:%d" % (bind_ip,bind_port)
def handle_client(client_socket):
request = client_socket.rev(1024)
print "[*] Recieved: %s" % request
client_socket.close()
while True:
client,addr = server.accept()
print "[*] Accepted connection from: %s:%d" % (addr[0],addr[1])
client_handler = threading.Thread(target=handle_client,args=(client,))
client_handler.start()
で、これが私のエラーです。
Traceback (most recent call last):
File "C:/Python34/learning hacking.py", line 9, in <module>
server.bind((bind_ip,bind_port))
File "C:\Python27\lib\socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10049] The requested address is not valid in its context
>>>
解決方法は?
ネットワークインターフェースに実際に割り当てられていないIPアドレスにバインドしようとしています。
bind_ip = "184.168.237.1"
をご覧ください。 Windowsソケットのエラーコード ドキュメント :
wsaeaddrnotavail 10049
要求されたアドレスを割り当てることができません。要求されたアドレスは、そのコンテキストでは有効ではありません。これは通常、ローカルコンピュータで有効でないアドレスにバインドしようとした場合に発生します。
それは、ルーターがNAT(ネットワークアドレス変換)を使ってあなたのコンピューターと話す前に聞いているIPアドレスかもしれませんが、あなたのコンピューターがそのIPアドレスを全く見ていないということではありません。
にバインドするか
0.0.0.0
この場合、利用可能なすべてのIPアドレス(localhostと設定されているパブリックアドレスの両方)が使用されます。
bind_ip = "0.0.0.0"
または、コンピュータに設定されている任意のアドレスを使用します。
ipconfig /all
をコンソールで表示し、ネットワーク構成を確認することができます。
また、ポート番号1024は、root権限で実行するプロセス用に予約されているため、使用しない方がよいでしょう。非特権プロセスを実行したい場合は、それ以上の番号を選択する必要があります (チュートリアルプログラムの大部分では、まさにそれを望んでいるのです)。
port = 5021 # arbitrary port number higher than 1023
あなたがフォローしている特定のチュートリアルは、以下のように使用していると思います。
BIND_IP = '0.0.0.0'
と
BIND_PORT = 9090
.
関連
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] ユーザーが有効な応答を返すまで入力を求める
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
python string splicing.join()とsplitting.split()の説明
-
PythonはWordの読み書きの変更操作を実装している
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)