1. 程式人生 > 程式設計 >python編寫簡單埠掃描器

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()

執行程式碼

程式碼執行結果

因為程式碼過於簡單,這裡我就不具體解釋了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。