python编写简单端口扫描器

yipeiwu_com7年前Python基础

本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下

直接放代码

此代码只支持扫描域名,要扫描IP请自己修改

from socket import *
from threading import Thread
import optparse
Port = [80,21,23,22,25,110,443,1080,3306,3389,1521,1433]
Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server']
def Scan(tghost,tgport,Server):
  try:
    s=socket()
    s.connect((tghost,tgport))
    print(tghost+'____>'+str(tgport)+' open',end='||||| ')
    print(str(tgport)+'---->'+Server)
    s.close()
  except:
    print(str(tgport)+'----> '+'not open')

def hostToaddr(host):#将域名转成ip
  try:
    return gethostbyname(host)
  except:
    return 
def main():
  parser=optparse.OptionParser()
  parser.add_option('-t', dest='dname')
  #parser.add_option('-p',dest='pname')
  (options,args)=parser.parse_args()


  if(options.dname==None):
    print('[-] You must specify a target host and port')
    exit(0)
  else:
    tgname=options.dname
  ip=hostToaddr(tgname)
  #Scan(ip)
  for i,j in zip(Port,Server):#用线程提高速度
    t=Thread(target=Scan,args=(ip,i,j))
    t.start()
  input()#cmd界面如果快速闪退,请加入这条代码
if __name__=='__main__':
  main()

运行代码

代码执行结果

因为代码过于简单,这里我就不具体解释了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现画五角星和螺旋线的示例

python实现画五角星和螺旋线的示例

如下所示: # -*- coding:UTF-8 -*- __author__ = "zhangguodong" __time__ = "2017.11.16" import t...

python3.6 如何将list存入txt后再读出list的方法

python3.6 如何将list存入txt后再读出list的方法

今天遇到一个需求,就是将一个list文件读取后,存入一个txt配置文件。存入时,发现list文件无法直接存入,必须转为str模式。 但在读取txt时,就无法恢复成list类型来读取了(准...

Flask框架中request、请求钩子、上下文用法分析

本文实例讲述了Flask框架中request、请求钩子、上下文用法。分享给大家供大家参考,具体如下: request 就是flask中代表当前请求的request对象: 常用的属性如下:...

详解Django+Uwsgi+Nginx的生产环境部署

详解Django+Uwsgi+Nginx的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,...

python解释器spython使用及原理解析

python解释器spython使用及原理解析

简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本。我个人再游戏服务器开发中,对c++嵌入lua和python都有着丰富应用经验...