使用python3.5,在学习端口扫描时,教程中的示例:
import socket
s=socket.socket()
for port in range(21, 25):
try:
print(‘Attempting to connect to 127.0.0.1:’+str(port))
s.connect((‘127.0.0.1’,port))
s.send(‘Primal Security \n’)
banner = s.recv(1024)
if banner:
print(‘Port+’str(port)’+’open’+banner)
s.close()
except:pass
执行结果:
/usr/bin/python3.5 /root/PycharmProjects/Djao1/scan.py
Attempting to connect to 127.0.0.1:21
Attempting to connect to 127.0.0.1:22
Attempting to connect to 127.0.0.1:23
Attempting to connect to 127.0.0.1:24
Process finished with exit code 0
明明我电脑中22端口是开放的,可就是扫描不到。
到python console下需逐条执行指令。发现是s.send('Primal Security \n')报错,大概是说不能是str字符串类型。修改成 s.send(b'Primal Security \n'),又报print('Port'+str(port)+'open'+