【发布时间】: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身份运行!