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

python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法

 更新時(shí)間:2019年04月16日 10:47:42   作者:水似冰  
這篇文章主要介紹了python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、問題由來

工作的局域網(wǎng)中,會(huì)接入很多設(shè)備,機(jī)器人上的網(wǎng)絡(luò)設(shè)備就2個(gè)了,一個(gè)巨哥紅外,一個(gè)??悼梢姽狻C(jī)器人還有自身的ip。

有時(shí)候機(jī)器人掛的多了,設(shè)備維修更換中,搞來搞去就不記得ip是什么,用自帶的軟件的確能掃出來,但是這就要開兩個(gè)windows環(huán)境下的軟件,耗時(shí)耗力,折騰。正好在linux,那簡單,敲命令。

nmap -P 192.168.1.0/24

可以掃描出 192.168.1.0~192.168.1.255的全部ip

但是前提是要裝過nmap

apt-get install nmap

可總感覺在用高射炮打蚊子——大材小用

那就自己折騰折騰python吧,于是就在網(wǎng)上抄抄改改。

二、python掃描指定網(wǎng)段ip

1、demo

pingS.py
import sys
import os
import time
import _thread
import datetime
def get_os():
  os = platform.system()
  if os == "Windows":
    return "n"
  else:
    return "c"
def ping_ip(ip_str):
  cmd = ["ping", "-{op}".format(op=get_os()),
      "1", ip_str]
  output = os.popen(" ".join(cmd)).readlines()
  flag = False
  for line in list(output):
    if not line:
      continue
    if str(line).upper().find("TTL") >=0:
      flag = True
      break
  if flag:
    print("*** *** *** ip: %s is OK *** *** ***"%(ip_str))
def find_ip(ip_prefix):
  for i in range(1,256):
    ip = ('%s.%s'%(ip_prefix,i))
    _thread.start_new_thread(ping_ip, (ip,))
    time.sleep(0.3)
if __name__ == "__main__":
  startTime = datetime.datetime.now()
  print("start time %s"%(time.ctime()))
  net=sys.argv[1]
  args = "".join(("192.168."+net+".1"))
  ip_prefix = '.'.join(args.split('.')[:-1])
  find_ip(ip_prefix)
  endTime = datetime.datetime.now()
  print("end time %s"%(time.ctime()))
  print("total takes :",(endTime - startTime).seconds)

python3除移thread模塊,為了兼容性使用_thread代替,最安全用法是使用threading模塊

datetime.datetime.now()獲取當(dāng)前時(shí)間

os = platform.system()判斷當(dāng)前系統(tǒng)類型

output = os.popen()調(diào)用終端,返回值會(huì)保存在output中

每次掃描的時(shí)長大約是 76 s。

2、運(yùn)行

python3 pingS.py 1

參數(shù)1是指定網(wǎng)段,如果想掃描192.168.5.0~192.168.5.255

則輸入:

python3 pingS.py 5

3、打包

pyinstaller -F pingS.py打包成單一可執(zhí)行文件

用上面的命令前提是已安裝pyinstaller——-(pip intsall pyinstaller)

運(yùn)行完會(huì)生成一個(gè)pingS的可執(zhí)行文件

cp pingS /bin

好了,到這一步,任意地方打開終端輸入:

pingS 1

都可以完成 192.168.1.0~192.168.1.255的掃描

總結(jié)

以上所述是小編給大家介紹的python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信

    利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信

    本文主要介紹了利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信示例代碼,具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • 詳解Python如何實(shí)現(xiàn)尾遞歸優(yōu)化

    詳解Python如何實(shí)現(xiàn)尾遞歸優(yōu)化

    尾遞歸是函數(shù)返回最后一個(gè)操作是遞歸調(diào)用,則該函數(shù)是尾遞歸。本文將介紹Python是如何實(shí)現(xiàn)尾遞歸優(yōu)化的,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • 如何利用opencv對拍攝圖片進(jìn)行文字識別

    如何利用opencv對拍攝圖片進(jìn)行文字識別

    在有些工程中有時(shí)候我們需要對圖片文字識別,下面這篇文章主要給大家介紹了關(guān)于如何利用opencv對拍攝圖片進(jìn)行文字識別的相關(guān)資料,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • python如何制作英文字典

    python如何制作英文字典

    這篇文章主要為大家詳細(xì)介紹了python如何制作英文字典,添加單詞的意思,查詢,退出,建立單詞文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python實(shí)現(xiàn)二叉樹結(jié)構(gòu)與進(jìn)行二叉樹遍歷的方法詳解

    Python實(shí)現(xiàn)二叉樹結(jié)構(gòu)與進(jìn)行二叉樹遍歷的方法詳解

    二叉樹是最基本的數(shù)據(jù)結(jié)構(gòu),這里我們在Python中使用類的形式來實(shí)現(xiàn)二叉樹并且用內(nèi)置的方法來遍歷二叉樹,下面就讓我們一起來看一下Python實(shí)現(xiàn)二叉樹結(jié)構(gòu)與進(jìn)行二叉樹遍歷的方法詳解
    2016-05-05
  • python繪制分組對比柱狀圖

    python繪制分組對比柱狀圖

    這篇文章主要為大家詳細(xì)介紹了python繪制分組對比柱狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 如何用Python和JS實(shí)現(xiàn)的Web SSH工具

    如何用Python和JS實(shí)現(xiàn)的Web SSH工具

    這篇文章主要介紹了如何用Python和JS實(shí)現(xiàn)的Web SSH工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python中移除List重復(fù)項(xiàng)的五種方法

    Python中移除List重復(fù)項(xiàng)的五種方法

    本文列些處幾種去除在Python 列表中(list)可能存在的重復(fù)項(xiàng),這在很多應(yīng)用程序中都會(huì)遇到的需求,本文介紹幾種方法,感興趣的可以了解一下
    2021-05-05
  • Python實(shí)現(xiàn)針對給定單鏈表刪除指定節(jié)點(diǎn)的方法

    Python實(shí)現(xiàn)針對給定單鏈表刪除指定節(jié)點(diǎn)的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)針對給定單鏈表刪除指定節(jié)點(diǎn)的方法,結(jié)合實(shí)例形式分析了Python單鏈表的定義、節(jié)點(diǎn)添加、刪除、打印等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • python重用父類功能的兩種方式實(shí)例詳解

    python重用父類功能的兩種方式實(shí)例詳解

    這篇文章主要介紹了python重用父類功能的兩種方式,方式一是跟繼承沒有關(guān)系的,而方式二的super()是依賴于繼承的,并且即使沒有直接繼承關(guān)系,super()仍然會(huì)按照MRO繼續(xù)往后查找,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評論