**
一、获取banner信息
**
我们首先用nv连接端口,返回banner信息:
root@kali:~# nc 192.168.1.109 21
220 (vsFTPd 2.3.4)
使用脚本获取信息:
#!/usr/bin/python
#coding=utf-8
import socket
socket.setdefaulttimeout(2)
s=socket.socket()
s.connect(("",))
answer=s.recv(1024)
s.close()
print answer
执行脚本文件:
第一种方式:
root@kali:~# vim 21.py
root@kali:~# mv 21.py getbanner.py
root@kali:~# chmod 777 getbanner.py
root@kali:~# ./getbanner.py
220 (vsFTPd 2.3.4)
第二种方式:
root@kali:~# python getbanner.py
220 (vsFTPd 2.3.4)
去掉空白信息:
#!/usr/bin/python
#coding=utf-8
import socket
socket.setdefaulttimeout(2)
s=socket.socket()
s.connect(("",))
answer=s.recv(1024)
s.close()
print answer
**
二、if选择
**
#!/usr/bin/python
#coding=utf-8
import socket
s=socket.socket()
IP="192.168.1.109"
s.connect((IP,21))
answer=s.recv(1024)
s.close()
if ("2.3.4") in answer:
print IP + " " + "is reachable"
else:
print IP + " " + "is not reachable"
**
三、请求异常处理
**
#!/usr/bin/python
#coding=utf-8
import socket
s=socket.socket()
socket.setdefaulttimeout(2)
try:
s.connect(("192.168.1.108",21))
answer=s.recv(1024)
s.close()
if ("2.3.4") in answer:
print "ip is reachable"
else:
print "ip is not reachable"
except Exception,e:
print "Error:" + str(e)
#!/usr/bin/python
#coding=utf-8
import socket
s=socket.socket()
socket.setdefaulttimeout(2)
try:
s.connect(("192.168.1.108",21))
answer=s.recv(1024)
s.close()
if ("2.3.4") in answer:
print "ip is reachable"
else:
print "ip is not reachable"
except:
print "请输入正确的操作"
#!/usr/bin/python
#coding=utf-8
批量扫描脚本,如果遇到错误就pass掉。
import socket
s=socket.socket()
socket.setdefaulttimeout(2)
try:
s.connect(("192.168.1.108",21))
answer=s.recv(1024)
s.close()
if ("2.3.4") in answer:
print "ip is reachable"
else:
print "ip is not reachable"
except:
pass
**
四、函数
**
import socket
def getbanner(IP,port):
socket.setdefaulttimeout(2)
s=socket.socket()
try:
s.connect((IP,port))
banner=s.recv(1024)
s.close()
return banner
except:
print IP + "is not reachable"
def checkbanner(banner):
if ("2.3.4" in banner):
print "it is valubale"
else:
print "it is not valuable"
if __name__=="__main__":
IP1="192.168.80.10"
IP2="192.168.80.100"
port=21
banner1=getbanner(IP1,port)
banner2=getbanner(IP2,port)
if banner1:
print IP1
checkbanner(banner1)
else:
print "it have not a banner"
if banner2:
print IP
checkbanner(banner2)
else:
print "it hava not a banner"