質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Kali Linux

Kali Linuxは、DebianベースのLinuxディストリビューションです。ペネトレーションテストを主な目的とし、250以上の専用ソフトウェアがインストールされています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

9915閲覧

error: [Errno 111] Connection refused

sarela

総合スコア7

Kali Linux

Kali Linuxは、DebianベースのLinuxディストリビューションです。ペネトレーションテストを主な目的とし、250以上の専用ソフトウェアがインストールされています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/03/27 08:19

前提・実現したいこと

ソケットプログラミングをしてNetcatを模した挙動のプログラムをしているのですが、listenモードにしているTCPサーバーへ別ターミナルからTCPクライアントとして接続したいと考えています。
この接続の際に上記のエラーが発生します。

発生している問題・エラーメッセージ

error: [Errno 111] Connection refused

該当のソースコード

以下該当箇所のソースです。

python

1import sys 2import socket 3import getopt 4import threading 5import subprocess 6 7# グローバル変数の定義 8listen = False 9command = False 10upload = False 11execute = "" 12target = "" 13upload_destination = "" 14port = 0 15 16 17def main(): 18 global listen 19 global port 20 global execute 21 global command 22 global upload_destination 23 global target 24 25 if not len(sys.argv[1:]): 26 usage() 27 28 # コマンドラインオプションの読み込み 29 try: 30 opts, args = getopt.getopt( 31 sys.argv[1:], 32 "hle:t:p:cu:", 33 ["help", "listen", "execute=", "target=", 34 "port=", "command", "upload="]) 35 except getopt.GetoptError as err: 36 print str(err) 37 usage() 38 39 for o,a in opts: 40 if o in ("-h", "--help"): 41 usage() 42 elif o in ("-l", "--listen"): 43 listen = True 44 elif o in ("-e", "--execute"): 45 execute = a 46 elif o in ("-c", "--commandshell"): 47 command = True 48 elif o in ("-u", "--upload"): 49 upload_destination = a 50 elif o in ("-t", "--target"): 51 target = a 52 elif o in ("-p", "--port"): 53 port = int(a) 54 else: 55 assert False, "Unhandled Option" 56 57 # 接続を待機する?それとも標準入力からデータを受け取って送信する? 58 if not listen and len(target) and port > 0: 59 60 # コマンドラインからの入力を`buffer`に格納する。 61 # 入力がこないと処理が継続されないので 62 # 標準入力にデータを送らない場合は CTRL-D を入力すること。 63 buffer = sys.stdin.read() 64 65 # データ送信 66 client_sender(buffer) 67 68 # 接続待機を開始。 69 # コマンドラインオプションに応じて、ファイルアップロード、 70 # コマンド実行、コマンドシェルの実行を行う。 71 if listen: 72 server_loop() 73 74def client_sender(buffer): 75 76 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 77 78 try: 79 # 標的ホストへの接続 80 client.connect((target, port)) 81 82 if len(buffer): 83 client.send(buffer) 84 85 while True: 86 # 標的ホストからのデータを待機 87 recv_len = 1 88 response = "" 89 90 while recv_len: 91 data = client.recv(4096) 92 recv_len = len(data) 93 response+= data 94 95 if recv_len < 4096: 96 break 97 98 print response, 99 100 # 追加の入力を待機 101 buffer = raw_input("") 102 buffer += "\n" 103 104 # データの送信 105 client.send(buffer) 106 107 except: 108 print "[*] Exception! Exiting." 109 110 # 接続の終了 111 client.close() 112

補足情報(FW/ツールのバージョンなど)

Python2.7 kali linux(Vbox)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ローカルではつながるということなら、ファイアーウォールでしょうか。
ローカルでつながるかどうか確認していないなら、まず確認してください。

投稿2020/03/27 10:40

otn

総合スコア85766

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sarela

2020/03/27 11:38

ターゲットをローカルホストに指定しても繋がりませんでした。この場合、ポートに問題があるとみて良いでしょうか。
otn

2020/03/27 11:50

プログラムの中は見てませんが、ローカルでもつながらないのであれば、プログラムの問題ではないでしょうか。
sarela

2020/03/29 16:03

ご指摘の通りプログラムの問題でした。確認に時間がかかってしまいましたが、ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問