我试图制作一个横幅抓取器,提示用户输入他们的IP地址和端口。到目前为止我所拥有的是:
(如果该网站显示它很奇怪,这里是bannergrabber代码的图片 http://imgur.com/RKscM9J 和一个hexdump代码的图片 http://imgur.com/kf9AeHw)
import socket
import sys
def bannergrabber(ip_address,port):
try:
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip_address,port))
banner = s.recv(4096)
print ip_address + ":" + banner
except
return
很明显,我不确定自己在做什么。我想与IP和端口建立TCP连接,这就是我在那里socket.SOCK_STREAM
的原因。之后,我使用hexdump
函数打印输出:
def myhexdump(src, length=16)
result=[]
for i in range(0, len(src), length):
substring = src[i:i+length]
result.append("%04x" %i)
hex = "".join("%X" % ord(c) for c in substring)
result.append("%-*s %s\n" %(length*3, hex, substring))
print b".join(result)