python實現掃瞄區域網指定網段ip的方法

2022-09-27 03:12:12 字數 2246 閱讀 6932

一、問題由來

工作的區域網中,會接入很多裝置,機械人上的網路裝置就2個了,乙個巨哥紅外,乙個海康可見光。機械人還有自身的ip。

有時候機械人掛的多了,裝置維修更換中,搞來搞去就不記得ip是什麼,用自帶的軟體的確能掃出來,但是這就要開兩個windows環境下的軟體,耗時耗力,折騰。正好在linux,那簡單,敲命令。

nmap -p 192.168.1.0/24

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

但是前提是要裝過nmap

apt-get install nmap

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

那就自己折騰折騰python吧,於是就在網上抄抄改改。

二、python掃瞄指定網段ip

1、demo

pings.py

import sys

import os

time

import _thread

import datetime

def get_os():

os = plwww.cppcns.comatform.system()

if os == "windows":

return "n"

else:

return "c"

def ping_ip(ip_str):

cmd = ["ping", "-".format(op=get_os()),

"1", ip_str]

output = os.popen(" ".join(cmd)).readlines()

flag = false

for line in list(ou

if not line:

continue

if str(line).upper().find("ttl") >=0:

flag = true

brea程式設計客棧k

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.ar**[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()獲取當前時間

os = platform.system()判斷當前系統型別

output = os.popen()呼叫終端,返回值會儲存在output中

每次掃瞄的時長大約是 76 s。

2、執行

python3 pings.py 1

引數1是指定網段,如果想掃瞄192.168.5.0~192.168.5.255

則輸入:

python3 pings.py 5

3、打包

pyinstaller -f pings.py打包成單一可執行檔案

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

執行完會生成乙個pings的可執行檔案

cp pings /bin

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

pings 1

都可以完成 192.168.1.0~192.168.1.255的掃瞄

總結本文標題: python實現掃瞄區域網指定網段ip的方法

本文位址:

python實現掃瞄區域網指定網段ip

工作的區域網中,會接入很多裝置,機械人上的網路裝置就2個了,乙個巨哥紅外,乙個海康可見光。機械人還有自身的ip。有時候機械人掛的多了,裝置維修更換中,搞來搞去就不記得ip是什麼,用自帶的軟體的確能掃出來,但是這就要開兩個windows環境下的軟體,耗時耗力,折騰。正好在linux,那簡單,敲命令。n...

python攻擊區域網電腦 區域網攻擊

目錄 區域網內的欺騙攻擊主要有以下幾種 arp欺騙 dns欺騙 netbios名稱欺騙和llmnr欺騙 進行內網攻擊的第一步是先檢視我們自己網絡卡的配置資訊,從而得知內網網段的資訊。探測內網資訊 檢視自己網絡卡配置資訊有好多命令,常用的有下面幾個,我們主要是檢視ip 子網掩碼和閘道器資訊 nmcli...

Python 區域網掃瞄存活主機開放埠

python 區域網掃瞄存活主機開放埠 by 鄭瑞國 1 ping指定ip判斷主機是否存活 2 ping所有ip獲取所有存活主機 3 nmap掃瞄存活主機開放埠 注 若在linux系統下 ping n 改為 ping c 若在windows系統下 ping n 不變 import nmap impo...