python 指令碼之 IP位址探測

2022-06-25 04:18:13 字數 1944 閱讀 2777

#第一種方法

#!/usr/bin/env python

#_*_ coding:utf8 _*_

#### 該指令碼需要使用fping命令 如果沒有安裝需要提前安裝fping

#### yum install fping

import os

ip = "10.10.0.1/24"

ips = ["10.10.0.1/24", "192.16.17.27/24"] # 需要查詢的ip的位址段狀態的輸入列表

iplist = 'iplist' # 儲存ip的檔名

path = os.path.dirname(os.path.abspath(__file__)) #得到當前資料夾路徑

sh_path = os.path.join(path, iplist) #組合檔名和路徑

iplists = #儲存ip的臨時檔案的列表

ip_dic = {} #儲存ip和ip狀態的字典 例如:'10.101.0.185': 'unreachable' '10.101.0.50': 'alive'

#執行fping命令來獲取,乙個段的所有ip的分配情況

for i in range(len(ips)):

list_name = sh_path + str(i) #得到當前儲存ip的檔名

os.system('> %s;fping -g %s >> %s' % (list_name, ips[i], list_name))

with open(list_name) as f:

for data in f.readlines():

temp = data.strip('\n')

ip_dic[temp.split(" ")[0]] = temp.split(" ")[2]

#第二種方法

#!/usr/bin/env python2.7

# -*- coding: utf-8 -*-

fromscapy.allimportsrp, ether, arp, conf   #要提前安裝 pip install scapy包

lan='10.10.10.0/24'   #給出想要查詢的ip位址段

ans, unans=srp(ether(dst="ff:ff:ff:ff:ff:ff")/arp(pdst=lan), timeout=2)

forsnd, rcvinans:  #列印出mac和ip

cur_mac=rcv.sprintf("%ether.src%")

cur_ip=rcv.sprintf("%arp.psrc%")

printcur_mac+' - '+cur_ip

自動化指令碼之bat管理IP位址

ip設定自動化,對於windows來說,使用bat方式是最方便的。但是要像我這個指令碼這樣全面的bat檔案,估計你沒見過。不要再用滑鼠點來點去,把ip換來換取。其實只要滑鼠雙擊一下,再選擇一項就搞定了。該指令碼借鑑了網上一些已有的bat檔案改進而成。對於開啟筆記本無線網絡卡上的無線路由器功能,需要修...

批量解析網域名稱為IP位址的python指令碼

指令碼如下 usr bin env python coding utf 8 import os,sys from socket import gethostbyname domain g pycharmproject fullstack2 week1 domain.txt def main doma...

用vbs指令碼修改IP位址

工作需要,經常要在n個固定ip位址間切換。煩。上script center,居然發現還可以用指令碼來設定ip。這下方便多啦,儲存為乙個vbs檔案,雙擊就能直接改ip了。strip 192.168.198.4 strmask 255.255.255.0 strgw 192.168.198.1 strd...