我已编写此脚本来测试单个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/

10-15 07:09