欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)的端口掃描功能示例

 更新時(shí)間:2018年04月08日 14:38:03   作者:chengqiuming  
這篇文章主要介紹了Python實(shí)現(xiàn)的端口掃描功能,涉及Python針對(duì)端口的連接、打開、關(guān)閉及線程相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)的端口掃描功能。分享給大家供大家參考,具體如下:

一 代碼

import sys
import socket
import multiprocessing
def ports(ports_service):
  #獲取常用端口對(duì)應(yīng)的服務(wù)名稱
  for port in list(range(1,100))+[143,145,113,443,445,3389, 8080]:
    try:
      ports_service[port] = socket.getservbyport(port)
    except socket.error:
      pass
def 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_open
if __name__=='__main__':
  m = multiprocessing.Manager()
  ports_service = dict()
  results = dict()
  ports(ports_service)
  #創(chuàng)建進(jìn)程池,允許最多8個(gè)進(jìn)程同時(shí)運(yùn)行
  pool = multiprocessing.Pool(processes=8)
  net = '192.168.0.'
  for host_number in map(str,range(105,106)):
    host = net+host_number
    #創(chuàng)建一個(gè)新進(jìn)程,同時(shí)記錄其運(yùn)行結(jié)果
    results[host] = pool.apply_async(ports_scan, (host, ports_service))
    print('starting '+host+'...')
  #關(guān)閉進(jìn)程池,close()必須在join()之前調(diào)用
  pool.close()
  #等待進(jìn)程池中的進(jìn)程全部執(zhí)行結(jié)束
  pool.join()
  #打印輸出結(jié)果
  for host in results:
    print('='*30)
    print(host,'.'*10)
    for port in results[host].get():
      print(port, ':', ports_service[port])

二 運(yùn)行結(jié)果

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python URL操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 使用matlab 判斷兩個(gè)矩陣是否相等的實(shí)例

    使用matlab 判斷兩個(gè)矩陣是否相等的實(shí)例

    這篇文章主要介紹了使用matlab 判斷兩個(gè)矩陣是否相等的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法

    Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法,涉及Python針對(duì)文件與目錄的遍歷、判斷、修改、復(fù)制及文件屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • python用socket實(shí)現(xiàn)協(xié)議TCP長連接框架

    python用socket實(shí)現(xiàn)協(xié)議TCP長連接框架

    大家好,本篇文章主要講的是python用socket實(shí)現(xiàn)協(xié)議TCP長連接框架,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • Python面試不修改數(shù)組找出重復(fù)的數(shù)字

    Python面試不修改數(shù)組找出重復(fù)的數(shù)字

    這篇文章主要為大家介紹了不修改數(shù)組找出重復(fù)的數(shù)字Python實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 在Python的struct模塊中進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的方法

    在Python的struct模塊中進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的方法

    這篇文章主要介紹了在Python的struct模塊中進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的方法,文中還給出了C語言和Python語言的數(shù)據(jù)類型比較,需要的朋友可以參考下
    2015-06-06
  • Python中的list.sort()方法和函數(shù)sorted(list)

    Python中的list.sort()方法和函數(shù)sorted(list)

    這篇文章主要介紹了Python中的list.sort()方法和函數(shù)sorted(list),sort()是列表的方法,修改原列表使得它按照大小排序,沒有返回值,返回None
    2022-08-08
  • 解決AttributeError:'NoneTypeobject'?has?no?attribute'Window'的問題(親測有效)

    解決AttributeError:'NoneTypeobject'?has?no?attrib

    這篇文章主要介紹了解決AttributeError:?‘NoneType‘?object?has?no?attribute?‘Window‘的問題(親測有效),本文給大家介紹的非常想詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • python 實(shí)現(xiàn)語音聊天機(jī)器人的示例代碼

    python 實(shí)現(xiàn)語音聊天機(jī)器人的示例代碼

    這篇文章主要介紹了python 實(shí)現(xiàn)語音聊天機(jī)器人的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • Python使用win32com實(shí)現(xiàn)的模擬瀏覽器功能示例

    Python使用win32com實(shí)現(xiàn)的模擬瀏覽器功能示例

    這篇文章主要介紹了Python使用win32com實(shí)現(xiàn)的模擬瀏覽器功能,結(jié)合實(shí)例形式分析了Python基于win32com模塊實(shí)現(xiàn)網(wǎng)頁的打開、登陸、加載等功能相關(guān)技巧,需要的朋友可以參考下
    2017-07-07
  • Python數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    Python數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    在順序存儲(chǔ)方式中,根據(jù)數(shù)據(jù)元素的序號(hào)就可隨機(jī)存取表中任何一個(gè)元素,但同時(shí)在插入和刪除運(yùn)算需要移動(dòng)大量的元素,造成算法效率較低。解決此缺陷的一個(gè)辦法是:對(duì)線性表采用鏈?zhǔn)酱鎯?chǔ)方式。本文將介紹鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的特點(diǎn)以及各種基本操作的實(shí)現(xiàn)。需要的可以參考一下
    2022-01-01

最新評(píng)論