python编写简单端口扫描器

2022-10-16,,,,

本文实例为大家分享了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编写简单端口扫描器.doc》

下载本文的Word格式文档,以方便收藏与打印。