Bash腳本:將網絡上所有計算機的MAC與特定計算機進行比較

在這裡,我將討論我為特定目的製作的bash腳本,我懷疑其他人是否會遇到這種情況,但是由於我編寫了bash腳本,因此分享它不會花費我任何東西🙂

樓上這是怎麼回事

碰巧,在我的城市中,有一個相當大的網絡,我們許多人以有線方式連接(網絡電纜連接到一台交換機,並鏈接到另一台交換機,還有許多交換機,呵呵),但是大型鏈路(不能通過電纜)使用Wi-Fi設備,您就可以擁有一個擁有數千名用戶的網絡,儘管沒有郵件服務,而互聯網卻少得多,但是您確實可以玩魔獸(WoW)(其中包括),學習,共享信息等。

事實是,某些Wi-Fi設備由於其所有者違反網絡規則或其他原因而被禁止或從網絡中驅逐。 因此,有必要每X次掃描一次,以檢查是否有人重新連接了彈出計算機的MAC,這就是該腳本的用處。

簡而言之,腳本有什麼作用?

  1. 首先,它在運行子網中進行掃描並檢測活動主機(活動IP)
  2. 然後,檢查這些IP中的任何一個是否為Ubiquiti(用於鏈接的設備)。 實際上,它僅檢測上述每個IP上端口443是否打開。
  3. 它會刪除每個活動設備的MAC,並打開端口443,同時將提取的每個MAC與正在搜索的MAC進行比較。
  4. 如果找到匹配項,則會生成報告。

來吧,代碼!

明確說明其操作需要安裝以下軟件包:nmap…nc…arping

好吧,使用nmap,它執行映射以檢測活動IP,使用nc,然後它檢查哪個端口443已打開,最後通過arping提取MAC。

是的,我知道您可以使用nmap來完成所有這些操作,但是花了幾秒鐘(甚至更多分鐘),我更喜歡使用幾種工具,而不是僅僅使用一種工具來使一切運行得更快。

是現在…。 編碼!

#!/ bin / bash##需要安裝軟件包:#nmap,arping,nc##作者:KZKG ^ Gaara clear#聲明變量DATE =`date +'%Y-%m-%d_%H-%M '`INTERFACE ='wlo1'WANTEDMAC ='C8:CB:B8:B1:DA:E6'YOURIP =`ifconfig |' grep“ 192.168” | awk'{print $ 2}'''``YOURZONE =`echo $ YOURIP | awk -F“。 '{print $ 3}'``#在網絡上拉動主機(您的IP)nmap -sn 192.168。$ YOURZONE.0 / 24 | grep“報告” | awk'{print $ 5}'> hosts-ip#通過在cat cats-ip`中打開TMPVAR端口443,打開rm hosts-nanos&> / dev / null來查看哪些主機可以是Nano。 -w 2 $ TMPVAR 443&> / dev / null,如果[$? -ne 1]; 然後回顯“ $ TMPVAR” >>主機-nanos fi已完成#從網絡上的Nanos刪除MAC rm hosts-mac&> / dev / null為`cat hosts-nanos`中的TMPVAR做arping -I $接口-f $ TMPVAR | grep“回復自” | awk'{print $ 5}'| 切-d'['-f2 | cut -d']'-f1 >> hosts-mac done#將提取的MAC與在cat cat-mac中搜索到的MAC進行比較,如果[[$ MAC“ =” $ WANTEDMAC“]; 然後MACLINE =`cat hosts-mac | grep -n $ MAC | cut -d':'-f1` IPMAC =`cat hosts-nanos | sed $ MACLINE'q; d'`echo -e“ \ n \ t警報,檢測到被盜設備的MAC:$ MAC ...使用IP:$ IPMAC” echo -e“ \ t ...生成報告... SpyMac生成的“ echo -e”報告\ n“> final_report_ $ YOURZONE.info echo -e”報告時間:$ DATE \ n“ >> final_report_ $ YOURZONE.info echo -e”檢測到被盜設備的MAC:$ WANTEDMAC \ n“ >>>> final_report_ $ YOURZONE.info echo -e”該計算機當前使用的IP:$ IPMAC \ n“ >> final_report_ $ YOURZONE.info echo -e”報告生成者:$ YOURIP \ n“ >> final_report_ $ YOURZONE .info fi完成退出

如果找到匹配項,它將向我們顯示找到的MAC以及該設備使用的IP。

這個(還是)還有差距呵呵

服務器

我知道有些事情需要改進,例如可以偽造MAC,可以將MAC更改為計算機,僅此而已,我仍然在尋找如何查看真實的MAC,而不是錯誤的MAC。 。

另外,通過添加另一個for循環,我可以使多個MAC同時進行比較,而不是僅比較/搜索特定的MAC,也就是說,搜索列表5、10中的MAC,無論它們是什麼。 這是我尚未做的事情。

也許它是一個Nano,但是它的端口443被阻止了,我知道如何能夠完全安全地知道它是否是Ubiquiti設備,也就是說,使用curl(或wget),我可以獲得登錄表單並進行比較對於Ubiquiti之一,這是一種比使用端口443更安全的方法。這是在以後的版本中添加的另一個細節。

我還希望(這對我來說很困難)生成一個小的腳本,甚至生成一個APK來在我的Android上安裝此工具。 我知道我將無法放入 Play商店 但…。 bueh,不是我要😀

嗯,iPhone用戶...即使我不能(出於知識和時間)我也不會將此工具移植到iOS ... JUAZ JUAZ JUAZ ...看著你 App Store 讓我們看看他們是否偶然有類似的東西,我懷疑😀

結束

一切都好。 我再說一遍,我認為特定的腳本可能對許多人都沒有用(這對於一個非常特定的情況),但是也許代碼的某些部分是的,希望如此,並且😀


13條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   天使之刃 他說:

    使用nmap,無需進行ips映射和nc驗證以及使用arping即可獲得MAC地址。

    選項是-PR

    像那樣的東西
    sudo nmap -sn IpAddress /網絡掩碼-PR | grep MAC | awk'{print $ 3}

    1.    埃利奧時間3000 他說:

      好的提示,儘管它必然需要紮根。

  2.   達約 他說:

    除非您自己執行腳本,否則bash通常非常不可讀。 但是您的代碼是可以理解的xD

    您可以做的另一件事是對不同的IP進行簡單的ping操作,然後使用arp -a命令查看arp表(在某些情況下,您必須安裝net工具)和ping的mac地址,我認為這是最快的解。

  3.   達約 他說:

    或更好
    迴聲“ test”> /dev/tcp/www.google.com/80
    如果給出錯誤,則端口(80)已關閉

  4.   馬里奧 他說:

    您好,您能否實施SNMP來識別問題,例如設備類型,品牌,功能,也可以作為已更改或虛擬MAC的答案; 你甚至可以通過conf來“管理”。 snmp服務弱。 只是一種見解,打開了腳本的可能性範圍。 非常好的博客,很高興找到他們,我經常閱讀它們! 擁抱。

  5.   弗蘭克·亞歷山大 他說:

    該bash腳本極具啟發性。

  6.   火冷 他說:

    該腳本非常易於理解,非常好,謝謝,它給了我很好的主意,問候

  7.   飛馬鹼 他說:

    如果您將其放在GITHUB上,那就太好了,所以我們都將在那裡進行合作。

    感謝分享!
    問候

  8.   盧西亞諾·拉加薩(Luciano Lagassa) 他說:

    您好,您的bash腳本非常好,就我而言,我建議提高安全性,您可以實施身份驗證方法(例如wisps),以防止未經授權或驅逐的用戶進入。 他們可以使用很多軟件。

  9.   獵人 他說:

    欺騙Mac時,您要做的是將偽造的Mac分包發送(第2層OSI),除非重置了攻擊者的網卡,否則您將無法發現真實的Mac。

  10.   亞歷山大·塞亞斯 他說:

    我對您的腳本感興趣...好吧,我一直在尋找一個更複雜或更簡單的腳本。

    事實是,我有250台機器的大型網絡,並且有Wi-Fi點,但他們購買的地塊相同...

    您將知道如何使Mac與ip進行比較,並且應該事先聲明它,因此,當有一個有趣的人更改ip時,請發出ip與mac不匹配的警報。

    我希望我已經解釋了自己……。

    即使我到處搜索,也找不到任何關於…的信息。

  11.   Hotmail的 他說:

    感謝您共享腳本,我將不得不對其進行一些修改,但這基本上是我一直在尋找的,再次感謝。 乾杯

  12.   伊西多爾 他說:

    正是我正在尋找的,因為我需要我的樹莓派來檢測我的手機何時連接到 wifi 以運行另一個 bash。
    非常感謝