【发布时间】:2020-02-22 10:54:33
【问题描述】:
如果VRFY root 命令存在,我正在尝试测试,给出一个IP 地址列表并连接到端口25。
这是我制作的脚本:
import sys
import socket
socket=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
with open('smtp_open.txt', 'r') as f:
for line in f:
print str.format(line)
socket.connect((line, 25))
banner=socket.recv(1024)
print banner
socket.send('VRFY' + ' root' + '\r\n')
result=socket.recv(1024)
print result
socket.close()
这是输出:
10.11.1.22
220 barry ESMTP Sendmail 8.11.6/8.11.6; Sat, 26 Oct 2019 10:56:33 +0200
250 2.1.5 root <root@barry>
10.11.1.72
Traceback (most recent call last):
File "VRFY_script.py", line 15, in <module>
socket.connect((line, 25))
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
File "/usr/lib/python2.7/socket.py", line 174, in _dummy
raise error(EBADF, 'Bad file descriptor')
socket.error: [Errno 9] Bad file descriptor
如您所见,它仅适用于第一个 ip,当它提供第二个 ip 作为输入时,输出会给我错误。
【问题讨论】: