【发布时间】:2016-04-10 00:54:24
【问题描述】:
我正在尝试编写一个简单的 Python SMTP 枚举脚本,它从文本文件(作为第二个参数提供的文件名 - sys.argv[2])读取用户名,并根据 SMTP 服务器(作为第一个提供的主机名或 ip论点 - sys.argv[1]。我发现了一些很接近的东西,并对其进行了一些调整,如下所示:
#!/usr/bin/python
import socket
import sys
users = sys.argv[2]
for line in users:
line = line.strip()
if line!='':
users.append(line)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((sys.argv[1], 25))
fn = s.makefile('rwb')
fn.readline()
fn.write('HELO testing.com \r\n')
fn.flush()
fn.readline()
for user in users:
fn.write('VRFY %s\r\n' % user)
fn.flush()
print '%s: %s' % (user, fn.readline().strip())
fn.write('QUIT\r\n')
fn.flush()
s.close()
但是,当我运行脚本时(例如):
./smtp-vrfy.py 192.168.1.9 users.txt
导致错误:
文件“./smtp-vrfy.py”,第 10 行,在 users.append(行) AttributeError: 'str' 对象没有属性 'append'
我做错了什么?我该如何解决?也许有更简单的方法来完成我想做的事情?
【问题讨论】: