【问题标题】:Python - No connection could be made because the target machine actively refused itPython - 无法建立连接,因为目标机器主动拒绝它
【发布时间】:2016-12-23 04:44:31
【问题描述】:

我是 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

我想知道为什么,我的防火墙已关闭..

您好!

【问题讨论】:

  • banner1 = retBanner(ip1, port) , banner2 = retBanner(ip2, port) 等一下,你的访问级别不允许RAW style TCP connection.11 and .12 是同一台机器但同一接口?还有一点是端口21不是Blackjack,它是全局端口,发布为FTP端口,需要关闭所有应用程序(使用端口21)并以root身份运行!

标签: python sockets


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-06-01
    • 1970-01-01
    • 2011-08-24
    • 2023-03-25
    • 2017-05-13
    • 2015-04-05
    • 2016-12-08
    • 2014-09-05
    相关资源
    最近更新 更多