繁体   English   中英

Python-无法建立连接,因为目标计算机主动拒绝了它

[英]Python - No connection could be made because the target machine actively refused it

我是Python的新手,我正在尝试执行这段导入Socket的代码:

import socket
def retBanner(ip, port):
    try:
        socket.setdefaulttimeout(2)
        s = socket.socket()
        s.connect((ip,port))
        banner = s.recv(1024)
        return banner
    except Exception as e:
        return str(e)

def main():
    ip1 = '10.0.0.12'
    ip2 = '10.0.0.11'
    port = 21

banner1 = retBanner(ip1, port)
if banner1:
    print('[+] ' + ip1 + ': ' + banner1)

banner2 = retBanner(ip2, port)
if banner2:
    print("[+] " + ip2 + ': ' + banner2)

if __name__ == '__main__':
    main()

即使我只是尝试使用Shell

>>> import socket
>>> socket.setdefaulttimeout(2)
>>> s = socket.socket()
>>> s.connect(("10.0.0.12",21))

它引发以下异常

[+] 10.0.0.12: [WinError 10061] No connection could be made because the target machine actively refused it

我想知道为什么,我关闭了防火墙。

问候!

WinError 10061表示服务器端TCP不接受连接。 因为上面没有任何应用程序在侦听客户端尝试连接的端口。 请检查您的服务器应用程序是否已启动,并且是否正在侦听预期的端口。

我将其作为一个简单的注释,但是由于我是一个声誉不高的新用户,所以不允许这样做。 您是否设置了可能禁用此功能的代理? 另外,您应该提到这是哪个Python版本。

运行之后,我发现我遇到了错误

“ banner1 = retBanner(ip1,端口)NameError:未定义名称'ip1'”

因为您只能在“ main”内部而不是全局(在函数定义之外)定义它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM