我是 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 - 由于目标机器主动拒绝而无法建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41295302/