我已编写此脚本来测试单个ip地址,以探查smtp服务器上的特定用户名以进行渗透测试。我现在正尝试移植此脚本以运行相同的测试,但要使用一系列ip地址,而不是单个IP地址。任何人都可以阐明如何实现这一目标吗?
#!/usr/bin/python
import socket
import sys
users= []
for line in sys.stdin:
line = line.strip()
if line != '':
users.append(line)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((sys.argv[1], 25))
fp = s.makefile('rwb')
fp.readline()
fp.write('HELO test.example.com\r\n')
fp.flush()
fp.readline
for user in users:
fp.write('VRFY %s\r\n\ ' % user)
fp.flush()
print '%s: %s' % (user, fp.readline().strip())
fp.write('QUIT\r\n')
fp.flush()
s.close()
最佳答案
我可以通过将您的代码转换为探测单个主机的函数(以主机名/ip作为参数)来实现此目的。然后,遍历您的主机列表(从命令行,文件,用户的交互式查询或任何地方),并为循环中的每个主机调用单个主机探针。
关于python - 探测SMTP服务器的Python脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28371555/