Python實現的連接埠掃描功能

來源:互聯網
上載者:User
這篇文章主要介紹了Python實現的連接埠掃描功能,在這裡分享給大家,需要的朋友可以參考下

本文執行個體講述了Python實現的連接埠掃描功能。分享給大家供大家參考,具體如下:

一 代碼


import sysimport socketimport multiprocessingdef ports(ports_service):  #擷取常用連接埠對應的服務名稱  for port in list(range(1,100))+[143,145,113,443,445,3389, 8080]:    try:      ports_service[port] = socket.getservbyport(port)    except socket.error:      passdef ports_scan(HOST, ports_service):  ports_open = []  try:    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    #sock.settimeout(60)  except socket.error:    print('socket creation error')    sys.exit()  for port in ports_service:    try:      #嘗試串連指定連接埠      sock.connect((HOST,port))      #記錄開啟的連接埠      ports_open.append(port)      sock.close()    except socket.error:      pass  return ports_openif __name__=='__main__':  m = multiprocessing.Manager()  ports_service = dict()  results = dict()  ports(ports_service)  #建立進程池,允許最多8個進程同時運行  pool = multiprocessing.Pool(processes=8)  net = '192.168.0.'  for host_number in map(str,range(105,106)):    host = net+host_number    #建立一個新進程,同時記錄其運行結果    results[host] = pool.apply_async(ports_scan, (host, ports_service))    print('starting '+host+'...')  #關閉進程池,close()必須在join()之前調用  pool.close()  #等待進程池中的進程全部執行結束  pool.join()  #列印輸出結果  for host in results:    print('='*30)    print(host,'.'*10)    for port in results[host].get():      print(port, ':', ports_service[port])


二 運行結果

starting 192.168.0.105...
==============================
192.168.0.105 ..........
80 : http

相關推薦:

python實現用產生器實現可迭代對象的方法

Python實現的HMacMD5密碼編譯演算法樣本_python

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.