import socket
import optparse
#HOST="172.16.0.1"
#POST=5000
#addr = (HOST,POST)
def main(ztgtHost,ztgtPost):
postlist = ztgtPost.split(",")
for i in range(len(postlist)) :
try:
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
c.connect((ztgtHost,int(postlist[i])))
#c.send(b"hello\r\n")
#data = c.recv(1024)
#print(str(data,encoding="gbk"))
print("[+] %s 主机 %s/TCP 端口开放"%(ztgtHost,postlist[i]))
c.close()
except:
print("[-] %s 主机 %s/TCP 端口关闭"%(ztgtHost,postlist[i]))
def opt():
parser = optparse.OptionParser("用法 程序 -H <目标主机> -P <目标端口,目标端口,目标端口...>")
parser.add_option("-H",dest="tgtHost",type="string",help="指定目标主机")
parser.add_option("-P",dest="tgtPost",type="string",help="指定目标端口")
(options,args) = parser.parse_args()
ztgtHost = options.tgtHost
ztgtPost = options.tgtPost
if ztgtHost == None or ztgtPost == None :
print(parser.usage)
else :
#addr = (ztgtHost,ztgtPost)
main(ztgtHost,ztgtPost)
if __name__ == "__main__":
opt()
效果截图显示:注意运行的时候一定要在该文件目录下运行
解释部分代码:
optparse 模块 可以帮你设计选项
python socketclinet.py -H 192.168.1.185 -P 80
主机192.168.1.185 80端口开放
主机192.168.1.185 80端口关闭
parser = optparse.OptinParser("用法的介绍")
parser.add_option("选项",dest="变量名1",type="类型",help="用法")