0

自宅のネットワークで使用可能なポートをスキャンしようとしています。しかし、いくつかの問題とエラーが発生しました。誰かが私のスクリプトに何が起こっているのか教えてもらえますか

これが私のスクリプトです

#!/usr/bin/env python 

import socket, sys
from optparse import OptionParser 

def scan_server(address, port): 
s = socket.socket() 
 print "Attempting to connect to %s on port %s." %(address, port) 
 try: 
     s.connect((address, port)) 
     print "Connected to server %s on port %s." %(address, port) 
     return True 
 except socket.error, e: 
     print "Connecting to %s on port %s failed with the following error: %s" %(address, 
     port, e) 
     return False

if __name__ == '__main__': 
 parser = OptionParser() 
 parser.add_option("-a", "--address", dest="address", default="localhost",      
 parser.add_option("-p", "--port", dest="port", help="PORT for server", metavar="PORT") 
 (options, args) = parser.parse_args() 
 if options.port == 'all': 
     print 'checking all ports...' 
 for x in range(1,65536): 
     print 'checking port %s on %s' %(x, options.address) 
     check = scan_server(options.address, x) 
     print 'scan_server returned %s' %(check) 
 else: 
     options.port = int(options.port) 
     print 'options: %s, args: %s' %(options, args) 
     check = scan_server(options.address, options.port) 
     print 'scan_server returned %s' %(check) 
     Ssys.exit(not check)

そして、ここに私のエラーがあります

localhost のポート 1 をチェックしています ポート 1 で localhost に接続しようとしています。ポート 1 で localhost に接続しようとすると、次のエラーで失敗しました: [Errno 10061] ターゲット マシンがアクティブに拒否したため、接続できませんでした。

ポート 2 で localhost に接続しようとしています。ポート 2 で localhost に接続しようとすると、次のエラーで失敗しました: [Errno 10061] ターゲット マシンがアクティブに拒否したため、接続できませんでした。scan_server は、localhost のポート 3 をチェックして False を返しました。

ポート 3 で localhost に接続しようとしています。ポート 3 で localhost に接続しようとすると、次のエラーで失敗しました: [Errno 10061] ターゲット マシンがアクティブに拒否したため、接続できませんでした。scan_server は、localhost のポート 4 をチェックして False を返しました。

ポート 4 で localhost に接続しようとしています。ポート 4 で localhost に接続しようとすると、次のエラーで失敗しました: [Errno 10061] ターゲット マシンがアクティブに拒否したため、接続できませんでした。scan_server は、localhost のポート 5 をチェックして False を返しました。

ポート 5 で localhost に接続しようとしています。ポート 5 で localhost に接続しようとすると、次のエラーで失敗しました: [Errno 10061] ターゲット マシンがアクティブに拒否したため、接続できませんでした。scan_server は localhost のポート 6 をチェックして False を返しました

ポート 6 で localhost に接続しようとしています。

4

1 に答える 1

5

エラーはありません。ローカル マシン (スキャンしているマシン) には、これらのポートでリッスンしているものがないため、接続が拒否されています。

「利用可能なポート」の意味がわかりません。オペレーティング システムは、何かがバインドされていないポートへの接続を拒否します。Linux ライクなオペレーティング システムでは、 という名前のシステム コールがありbind、そのポートでリッスンしようとしているプログラムを登録します。マシン上のポートの大部分は、何もバインドされていないという点で「使用可能」になります。

一般的に使用されるポートのリファレンスは次のとおりです。

于 2013-06-06T17:18:09.550 に答える