信創系統資產清單采集腳本:主機名+IP+MAC 一鍵生成 CSV

原文鏈接:信創系統資產清單采集腳本:主機名+IP+MAC 一鍵生成 CSV

Hello,大家好啊!今天給大家帶來一篇在信創終端操作系統上自動批量采集主機名、IP 和 MAC 并導出為 CSV 表格的實戰文章!本方案使用 sshpass 和 Bash 腳本配合,支持從外部 IP 列表和密碼文件中讀取內容,輕松實現批量自動采集,是信創設備臺賬登記、資產管理、批量部署前信息歸檔的利器!歡迎大家點贊、轉發、點個在看!

場景介紹

日常運維工作中,尤其是在以下場景下常常需要批量采集主機信息:

信創設備批量上架后登記 IP、MAC、主機名

網絡規劃前快速收集節點信息

離線環境中準備資產臺賬

自動化部署前環境清查

如果一個個登錄再 copy 太低效,這時候一套 “免登錄 + 自動生成 CSV” 的腳本就很有必要!

1.準備設備IP列表

pdsyw@pdsyw-PC:~/Desktop$ vim pdsyw_ip.txt
?
pdsyw@pdsyw-PC:~/Desktop$ cat pdsyw_ip.txt 
?
192.168.80.44

用 vim 創建并編輯了一個名為 pdsyw_ip.txt 的文件,內容是目標設備的 IP 地址,每行一個。此文件用于后續腳本讀取目標設備列表。

img

2.準備對應密碼

pdsyw@pdsyw-PC:~/Desktop$ vim pdsyw_passwd.txt
?
pdsyw@pdsyw-PC:~/Desktop$ cat pdsyw_passwd.txt
?
1 

創建一個名為 pdsyw_passwd.txt 的文件,里面存放對應設備的登錄密碼。支持:

所有設備共用同一個密碼(如每行內容都為 1)。

每臺設備一個密碼(一一對應 pdsyw_ip.txt 中的 IP)。

腳本通過索引一一讀取對應的密碼。

img

3.編寫批量采集腳本

pdsyw@pdsyw-PC:~/Desktop$ vim generate_host_list.sh
?
pdsyw@pdsyw-PC:~/Desktop$ cat generate_host_list.sh
?
#!/bin/bash
??
output="host_list.csv"
?
echo "主機名,IP地址,MAC地址" > "$output"
??
mapfile -t ip_list < pdsyw_ip.txt
?
mapfile -t pw_list < pdsyw_passwd.txt
??
if [ "${#ip_list[@]}" -ne "${#pw_list[@]}" ]; then
?echo "錯誤:IP 和密碼數量不一致"
?exit 1
?
fi
??
for i in "${!ip_list[@]}"; do
?ip="${ip_list[$i]}"
?password="${pw_list[$i]}"
??echo "正在采集:$ip"
??sshpass -p "$password" ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no pdsyw@"$ip" '
?h=$(hostname)
?ipaddr=$(ip a | grep "inet " | grep -v "127.0.0.1" | awk "{print \$2}" | cut -d/ -f1 | head -n1)
?mac=$(ip link | awk "/ether/ {print \$2}" | head -n1)
?echo "$h,$ipaddr,$mac"
?' >> "$output"
?
done
??
echo "所有采集完成,結果保存在 $output"

讀取 IP 和密碼,遠程登錄每臺主機,采集主機名、IP、MAC 地址,并輸出到 host_list.csv 文件中。關鍵步驟說明:

mapfile -t ip_list < pdsyw_ip.txt
?
mapfile -t pw_list < pdsyw_passwd.txt

將 IP 列表和密碼列表分別讀入數組。

if [ "${#ip_list[@]}" -ne "${#pw_list[@]}" ]; then
?echo "錯誤:IP 和密碼數量不一致"
?exit 1
?
fi

校驗 IP 與密碼數量一致,防止數組越界。

sshpass -p "$password" ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no pdsyw@"$ip" '
?h=$(hostname)
?ipaddr=$(ip a | grep "inet " | grep -v "127.0.0.1" | awk "{print \$2}" | cut -d/ -f1 | head -n1)
?mac=$(ip link | awk "/ether/ {print \$2}" | head -n1)
?echo "$h,$ipaddr,$mac"
?
' >> "$output"

利用 sshpass + ssh 無交互登錄遠程主機,提取主機名(hostname)、IP 地址、MAC 地址。其中用戶pdsyw可以根據實際情況調整。awk "{print $2}" 使用 \ 轉義是為了在嵌套腳本中正確傳遞。

echo "主機名,IP地址,MAC地址" > "$output"

創建 CSV 文件,寫入表頭。

img

4.安裝環境依賴

pdsyw@pdsyw-PC:~/Desktop$ sudo apt install sshpass -y

sshpass 是一個支持非交互式 SSH 密碼輸入的工具。它允許你用密碼方式批量遠程登錄(適用于沒有設置 SSH 密鑰登錄的設備)。確保主控終端可 SSH 到目標設備。

img

5.執行效果預覽

pdsyw@pdsyw-PC:~/Desktop$ bash generate_host_list.sh
?
正在采集:192.168.80.44
?
Warning: Permanently added '192.168.80.44' (ECDSA) to the list of known hosts.
?
所有采集完成,結果保存在 host_list.csv

執行采集腳本,控制臺實時輸出當前采集的設備 IP。首次連接會自動將目標 IP 加入 known_hosts 列表。

img

6.輸出文件

pdsyw@pdsyw-PC:~/Desktop$ cat host_list.csv 
?
主機名,IP地址,MAC地址
?
pdsyw-PC,192.168.80.44,00:0c:29:cf:46:a3

采集完成后,輸出的文件內容是一個標準的 CSV 格式,便于后續導入 Excel 或數據庫處理。

img

img

7、使用建議

*應用場景**建議操作*
臺賬登記使用WPS 表格打開 .csv 直接導入系統平臺
網段清查一次性采集全網段設備,過濾活躍主機
離線備份將采集腳本與 .csv 一并打包歸檔
自動部署前檢查結合設備名 / IP 反查對照配置表

通過這篇文章,你掌握了如何在信創終端環境中,使用腳本結合 SSH 免交互方式批量獲取設備主機名、IP 地址和 MAC 地址,并輸出為標準的 .csv 表格,極大提高了信息采集效率,也為后續批量運維打下良好基礎。如果你覺得這篇文章實用,歡迎點贊、轉發、收藏并點個在看,我們下次再見!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903338.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903338.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903338.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【dify+docker安裝教程】

目錄 一、dify安裝包下載 二、運行環境配置 1、下載docker 2、安裝 2.1 新建文件夾 2.2 安裝 2.3 命令安裝 3.下載完成后需要重啟電腦&#xff0c;注意保存文檔&#xff01;&#xff01;注意保存&#xff01;&#xff01;注意&#xff01;&#xff01;&#xff08;血的教…

HTML 地理定位(Geolocation)教程

HTML 地理定位(Geolocation)教程 簡介 HTML5 的 Geolocation API 允許網頁應用獲取用戶的地理位置信息。這個功能可用于提供基于位置的服務&#xff0c;如導航、本地搜索、天氣預報等。本教程將詳細介紹如何在網頁中實現地理定位功能。 工作原理 瀏覽器可以通過多種方式確定…

協作開發攻略:Git全面使用指南 — 引言

協作開發攻略&#xff1a;Git全面使用指南 — 引言 Git 是一種分布式版本控制系統&#xff0c;用于跟蹤文件和目錄的變更。它能幫助開發者有效管理代碼版本&#xff0c;支持多人協作開發&#xff0c;方便代碼合并與沖突解決&#xff0c;廣泛應用于軟件開發領域。 文中內容僅限技…

畢業設計-基于預訓練語言模型與深度神經網絡的Web入侵檢測系統

項目技術說明 基于預訓練語言模型與深度神經網絡的Web入侵檢測系統&#xff0c;通過預訓練模型CodeBert分詞&#xff0c;將分詞輸入給BiGRU的深度學習模型訓練。通過sniff函數實時捕獲http流量信息&#xff0c;將流量信息輸入給模型進行檢測&#xff0c;模型可以檢測的類別有S…

[計算機科學#4]:二進制如何塑造數字世界(0和1的力量)

【核知坊】&#xff1a;釋放青春想象&#xff0c;碼動全新視野。 我們希望使用精簡的信息傳達知識的骨架&#xff0c;啟發創造者開啟創造之路&#xff01;&#xff01;&#xff01; 內容摘要&#xff1a; 二進制是計算機世界的基石&#xff0c;數學是世界的…

JUC中各種鎖機制的應用和原理及死鎖問題定位

JUC中各種鎖機制的應用和原理及死鎖問題定位 在互聯網大廠Java求職者的面試中&#xff0c;經常會被問到關于JUC&#xff08;Java Util Concurrency&#xff09;中的各種鎖機制及其應用和原理的問題。本文通過一個故事場景來展示這些問題的實際解決方案。 第一輪提問 面試官&…

配置Ubuntu18.04中的Qt Creator為中文(圖文詳解)

配置Qt Creator為中文 1、前言2、先設置Ubuntu系統語言為中文3、配置Qt Creator中文環境2.1 IBus輸入法&#xff08;方法一&#xff09;2.2、測試IBus輸入法2.21IBus輸入法終端中測試2.2.2IBus輸入法Qt Creator中測試 2.3、Fcitx輸入法&#xff08;方法二&#xff09;2.3.1安裝…

高性能服務器配置經驗指南3——安裝服務器可能遇到的問題及解決方法

文章目錄 1、重裝系統后VScode遠程連接失敗問題2、XRDP連接黑屏問題1. 打開文件2. 添加配置3. 重啟xrdp服務 3、VScode遠程免密連接問題4、Vim編輯文件時出現不同用戶沖突編輯的問題 在完成 服務器基本配置和 深度學習環境準備后&#xff0c;大家應該就可以正常使用服務器了&…

PyQt6基礎_QThread

目錄 前置 代碼&#xff1a; 運行 正常運行 QThread運行報錯 視頻 前置 1 PySide6.QtCore.QThread - Qt for Python QThread官方文檔 2 長時間任務可以放到QThread中執行&#xff0c;避免占用主線程導致界面卡頓無法操作 代碼&#xff1a; import traceback,sys fro…

Spring Boot 應用運行指南

&#x1f680; Spring Boot 應用運行指南 ?? 使用 Maven &#x1f527; 運行命令 $ mvn spring-boot:run? 啟動效果 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_…

jeecgboot 3.8.0 集成knife4j問題一文解決

問題描述: ? 在cloud環境下,若應用系統配置了context-path,則無法通過網關進入后臺接口管理系統 原因分析: ? 查看請求信息發現少拼接了系統的context-path,導致無法正確請求到數據。直接使用正確的地址可以正常通過網關訪問。故此確定為集成knife4j的問題。 解決辦法…

【Flutter】Flutter + Unity 插件結構與通信接口封裝

關聯文檔&#xff1a;【方案分享】Flutter Unity 跨平臺三維渲染架構設計全解&#xff1a;插件封裝、通信機制與熱更新機制—— 支持 Android/iOS/Web 的 3D 內容嵌入與遠程資源管理&#xff0c;助力 XR 項目落地 —— 支持 Android/iOS/Web 的 3D 內容嵌入與遠程資源管理&…

推薦 1 款 9.3k stars 的全景式開源數據分析與可視化工具

Orama 是一個開源的數據分析與可視化項目&#xff0c;由askorama團隊開發和維護。該項目旨在為用戶提供一套強大而易用的工具集&#xff0c;幫助用戶輕松處理和理解大規模數據&#xff0c;通過創建交互式且引人入勝的數據可視化圖表&#xff0c;揭示隱藏在數據背后的深層次洞察…

關于windows API 的鍵鼠可控可測

相關函數解釋 GetAsyncKeyState 是 Windows API 中的一個函數&#xff0c;用于判斷某個虛擬鍵是否被按下。GetAsyncKeyState(VK_ESCAPE) 專門用于檢測 Esc 鍵的狀態。下面為你詳細介紹其用法&#xff1a; 函數原型 cpp SHORT GetAsyncKeyState( int vKey ); 參數 vKey&a…

vs 安裝完番茄助手visual assist 后 菜單欄不顯示

vs 安裝完番茄助手visual assist 后 菜單欄不顯示 出現原因解決辦法&#xff1a; 出現原因 vs安裝完番茄助手后&#xff0c;不顯示。主要原因是之前安裝過&#xff0c;但是試用過期了&#xff0c;卸載后重新安裝然后替換破解版的dll 導致的。 解決辦法&#xff1a; 關閉vs軟件…

論文導讀 - 基于邊緣計算、集成學習與傳感器集群的便攜式電子鼻系統

基于邊緣計算、集成學習與傳感器集群的便攜式電子鼻系統 原論文地址&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0925400522015684 引用此論文&#xff08;GB/T 7714-2015&#xff09;&#xff1a; WANG T, WU Y, ZHANG Y, et al. Portable electr…

EasyCVR視頻匯聚平臺助力大型生產監控項目攝像機選型與應用

一、方案背景 在300路大型生產監控項目中&#xff0c;由于生產環境復雜多樣&#xff0c;涵蓋室外廠區、大型車間、室內辦公區域等不同場景&#xff0c;單一類型的攝像機難以滿足全方位、精細化的監控需求。EasyCVR作為一款功能強大的視頻融合管理平臺&#xff0c;具備靈活的視…

測試用例介紹

文章目錄 一、測試用例基本概念1.1 測試用例基本要素 二、測試用例的設計方法2.1 基于需求的設計方法2.2 等價類2.3 邊界值2.4 錯誤猜測法2.6 場景設計法2.7 因果圖2.5 正交排列 三、綜合&#xff1a;根據某個場景去設計測試用例&#xff08;萬能公式&#xff09;四、如何使用F…

基于藍牙Beacon人員導航方案

基于藍牙Beacon人員導航方案 一、室內定位市場痛點與技術選擇 大型商場&#xff08;單層超2萬㎡&#xff09;和醫院&#xff08;科室超200個&#xff09;的復雜空間中&#xff0c;傳統GPS信號衰減超90%&#xff0c;用戶平均尋路耗時10-15分鐘&#xff0c;30%購物決策因“找店…

使用vue3 腳手架創建項目

1.創建項目 并 運行 1.1 創建項目 vue create abcd 1.2 運行 創建好項目后&#xff0c;命令行會提示你運行項目 npm run serve 2.介紹各個目錄 node_modules : 項目依賴包&#xff0c;其中包括很多基礎依賴&#xff0c;自己也可以根據需要安裝其他依賴 assets文件夾&a…