Networking 网络扫描失败
我尝试在家中扫描网络上的可用端口。但是我遇到了一些问题和错误。有人能告诉我我的剧本是怎么回事吗 这是我的脚本Networking 网络扫描失败,networking,python-2.7,Networking,Python 2.7,我尝试在家中扫描网络上的可用端口。但是我遇到了一些问题和错误。有人能告诉我我的剧本是怎么回事吗 这是我的脚本 #!/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, po
#!/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)
这是我的错误
正在检查本地主机上的端口1
正在尝试连接到端口1上的本地主机。
连接到端口1上的本地主机失败,出现以下错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
扫描服务器返回False
正在检查本地主机上的端口2
正在尝试连接到端口2上的本地主机。
连接到端口2上的本地主机失败,出现以下错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
扫描服务器返回False
正在检查本地主机上的端口3
正在尝试连接到端口3上的本地主机。
连接到端口3上的本地主机失败,出现以下错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
扫描服务器返回False
正在检查本地主机上的端口4
正在尝试连接到端口4上的本地主机。
连接到端口4上的本地主机失败,出现以下错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
扫描服务器返回False
正在检查本地主机上的端口5
正在尝试连接到端口5上的本地主机。
连接到端口5上的本地主机失败,出现以下错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
扫描服务器返回False
正在检查本地主机上的端口6
正在尝试连接端口6上的本地主机。没有错误。您的本地机器(您正在扫描的机器)在这些端口上没有任何侦听内容,因此连接被拒绝 我不知道你所说的“可用端口”是什么意思。操作系统将拒绝任何未绑定内容的端口上的连接。在类似Linux的操作系统上,有一个名为
bind
的系统调用,它将程序注册为打算在该端口上侦听。您机器上的绝大多数端口都是“可用”的,因为它们没有任何绑定
给你 没有错误。您的本地机器(您正在扫描的机器)在这些端口上没有任何侦听内容,因此连接被拒绝 我不知道你所说的“可用端口”是什么意思。操作系统将拒绝任何未绑定内容的端口上的连接。在类似Linux的操作系统上,有一个名为
bind
的系统调用,它将程序注册为打算在该端口上侦听。您机器上的绝大多数端口都是“可用”的,因为它们没有任何绑定
给你 对不起,我弄错了。我的意思是尝试连接失败。实际上,我正试图找出连接到我的网络的每台主机上运行的协议。我找到了一个脚本来搜索localhost的端口。但我不知道如何获得主机的所有其他端口。这是我在本地主机上扫描端口的脚本。我在回答中解释了为什么会出现这种错误。然而,如果这就是你想要做的,就用它,而不是自己写。我为这个错误感到抱歉。我的意思是尝试连接失败。实际上,我正试图找出连接到我的网络的每台主机上运行的协议。我找到了一个脚本来搜索localhost的端口。但我不知道如何获得主机的所有其他端口。这是我在本地主机上扫描端口的脚本。我在回答中解释了为什么会出现这种错误。然而,如果这就是你想要做的,那就用它,而不是自己写。