Itt egy bash forgatókönyvről fogok beszélni, amelyet nagyon konkrét céllal készítettem, és kétlem, hogy másoknak is van ilyen helyzetük, de mivel én programoztam ... nekem nem kerül semmibe megosztani 🙂
Az emeleten miről van szó?
Előfordul, hogy az én városomban meglehetősen nagy a hálózat, sokan vezetékes módon csatlakozunk (hálózati kábel egy kapcsolóhoz, egy másikhoz van kapcsolva, és sok kapcsoló hehe), de nagy kapcsolatok (amelyek nem vezethetők át kábelen) Csinálják a Wi-Fi berendezéseket, ily módon több ezer felhasználóval rendelkező hálózatod van, hogy bár nincs mail szolgáltatás és sokkal kevesebb internet van, a WoW játékot játszod (többek között), tanulsz, információkat osztasz meg stb.
Tény, hogy előfordult, hogy bizonyos Wi-Fi-eszközöket tiltanak vagy kizárnak a hálózatból, vagy azért, mert tulajdonosa megsérti a hálózati szabályokat, vagy bármi más. Tehát minden egyes alkalommal meg kell vizsgálni, hogy valaki újracsatlakoztatta-e a kiadott számítógép MAC-ját, és ez az a hely, ahol ez a szkript bejön.
Egyszerűen fogalmazva, mit csinál a forgatókönyv?
- Először beolvassa a futó alhálózatot, és észleli az élő gazdagépeket (az aktív IP-ket)
- Ezután ellenőrizze, hogy ezen IP-k bármelyike Ubiquiti-e (linkekre használt berendezés). Valójában csak akkor észleli, hogy a 443-as port nyitva van-e a fenti IP-k mindegyikén.
- Eltávolítja minden élő eszköz MAC-ját, és nyitva van a 443-as port, ugyanakkor összehasonlítja az egyes kivont MAC-okat a keresettekkel.
- Ha talál egyezést, jelentést generál.
Gyerünk, a kódhoz!
Érvényes annak tisztázására, hogy működéséhez a következő csomagokra van szükség: nmap… nc… arping
Nos, az nmap segítségével elvégzi a leképezést az aktív IP-k felderítésére, az nc-vel pedig azt, hogy melyiknek van nyitva a 443-as portja, végül arpolással kivonja a MAC-ot.
Igen, tudom, hogy az nmap segítségével mindezt megteheti, de több másodpercbe (vagy percekbe) is beletelt, inkább több eszközt használtam egy helyett, hogy minden gyorsabban működjön.
Igen, most…. a kód!
#! / bin / bash # # Szükséges a csomagok telepítése: # nmap, arping, nc # # Szerző: KZKG ^ Gaara törlés # Változók deklarálása DATE = `dátum + '% 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}' '# Alive Hostok meghúzása a hálózaton (az Ön IP-jén) nmap -sn 192.168. $ YOURZONE.0 / 24 | grep "jelentés" | awk '{print $ 5}'> hosts-ip # Ha látja, hogy ezek a Gazdák közül melyik lehet Nano, azáltal, hogy a 443-as port nyitott rm hosts-nanos &> / dev / null a TMPVAR számára a `cat cat hosts-ip` do nc -zv -w 2 $ TMPVAR 443 &> / dev / null, ha [$? -ne 1]; majd visszhangozza a "$ TMPVAR" >> hosts-nanos fi kész # A MAC eltávolítása a nanókból a hálózaton rm hosts-mac &> / dev / null a TMPVAR számára a `macska gazdagépek-nanókban` do arping -I $ INTERFACE -f $ TMPVAR | grep "válasz a következőtől" | awk '{print $ 5}' | vágd -d '[' -f2 | kivágás -d ']' -f1 >> hosts-mac kész # A kinyert MAC-ok összehasonlítása a keresett MAC-kal a `cat hosts-mac` do-ban, ha [" $ MAC "=" $ WANTEDMAC "]; akkor MACLINE = `cat hosts-mac | grep -n $ MAC | cut -d ':' -f1` IPMAC = `macska gazdanadrok | sed $ MACLINE'q; d'` echo -e "\ n \ t ALERT, ellopott eszköz MAC-je észlelhető: $ MAC ... IP-vel: $ IPMAC" echo -e "\ t ... Jelentés készítése ... "echo -e" SpyMac által létrehozott jelentés \ n "> final_report_ $ YOURZONE.info echo -e" Jelentés pillanata: $ DATE \ n ">> final_report_ $ YOURZONE.info echo -e" Az ellopott eszköz MAC-je észlelve: $ WANTEDMAC \ n ">> final_report_ $ YOURZONE.info echo -e" A számítógép által jelenleg használt IP: $ IPMAC \ n ">> final_report_ $ YOURZONE.info echo -e" A jelentést létrehozta: $ YOURIP \ n ">> final_report_ $ A YOURZONE.info fi kilépett
Ha talál egyezést, megmutatja nekünk a megtalált MAC-ot és az adott berendezés által használt IP-t.
Ennek (még mindig) vannak hiányai hehe
Tudom, hogy van mit javítani, például meghamisíthatók a MAC-ok, a MAC számítógépre cserélhető és ennyi, én még mindig azt keresem, hogyan lehet a valódi MAC-t látni, és nem a hamisat, ha ez a helyzet.
Ezenkívül egy másik for ciklus hozzáadásával egyszerre több MAC-ot is összehasonlíthatok, és nem csak egy adotthoz hasonlítok / keresek, vagyis keresem azokat a MAC-okat, amelyek egy listában szerepelnek, 5, 10, bármi is legyen. Olyasmi, amit még meg kell tennem.
Lehet, hogy ez egy Nano, de blokkolva van a 443-as port, tudom, hogyan lehet teljes biztonsággal tudni, hogy Ubiquiti eszközről van-e szó, vagyis curl (vagy wget) segítségével megkaphatom a bejelentkezési űrlapot, és összehasonlíthatom egy Ubiquiti egyikével, ez biztonságosabb módszer, mint a 443-as portnál. Ez egy további részlet, amelyet hozzá kell adni a jövőbeni verziókhoz.
Azt is szeretném (ami számomra már nehéz) generálni egy kis szkriptet vagy akár egy APK-t, hogy ez az eszköz legyen az Android-on. Tudom, hogy nem fogom tudni betenni a Play Áruház de…. bueh, nem azért akarok 😀
Ah, iPhone-felhasználók ... még akkor sem, ha tudok (tudás és idő érdekében) portálom ezt az eszközt az iOS-re ... JUAZ JUAZ JUAZ ... nézd meg App Store Lássuk, véletlenül van-e valami hasonló, amiben kétlem
vég
A jó minden. Ismétlem, úgy gondolom, hogy az adott szkript sokak számára nem biztos, hogy hasznos (egészen konkrét helyzetre szól), de talán a kód egyes részei igen, remélhetőleg, és ez így van 😀
Az nmap segítségével megkapja a MAC ADDRESS-t anélkül, hogy meg kellene tennie ezt az ips-leképezést és az ellenőrzést az nc-vel és az arping használatát
opció a -PR
valami hasonló
sudo nmap -sn IpAddress / netmask -PR | grep MAC | awk '{print $ 3}
Jó tipp, bár szükség van gyökérre.
A bash általában elég olvashatatlan, hacsak nem maga csinálta a szkriptet. de a kódjai érthetőek xD
Egy másik dolog, amit tehet, az egy egyszerű ping a különböző IP-knek, majd megnézi az arp táblákat az arp -a paranccsal (egyes esetekben telepítenie kell a net eszközöket) és a pingelt mac címeket. a leggyorsabb megoldás.
vagy még jobb
echo "test"> /dev/tcp/www.google.com/80
ha hibát ad, akkor a (80) port zárva van
Helló, tudná-e megvalósítani az SNMP-t, hogy képes legyen azonosítani olyan kérdéseket, mint például milyen típusú berendezés, milyen márka, milyen képességekkel rendelkezik, ez lehet a válasz a megváltozott vagy virtuális MAC esetére is; akár "kezelni" is eljuthat, ha a konf. Az SNMP szolgáltatás gyenge. Csak egy vélemény, megnyitva a forgatókönyv lehetőségeinek skáláját. Nagyon jó blog, örülök, hogy megtaláltam őket, gyakran olvasom őket! Ölelés.
Ez a bash forgatókönyv rendkívül inspiráló.
A forgatókönyv nagyon érthető és nagyon jó, köszönöm, jó ötleteket adott, Üdvözlet
Nagyon jó lenne, ha feltennéd a GITHUB-ra, így ott mindannyian együttműködnénk.
Köszönet a megosztásért!
Üdvözlet
Helló, a bash szkripted nagyon jó, a magam részéről azt javaslom, hogy a biztonság javítása érdekében hajtson végre egy hitelesítési módszert, például WIP-eket, hogy megakadályozza az illetéktelen vagy kiutasított felhasználók belépését. nagyon sok szoftver használható.
Ha hamisít egy mac-ot, akkor a hamis macot csomagokban küldi (2. réteg OSI), csak akkor találja meg a valódit, ha a támadó hálózati kártyáját visszaállítják.
Érdekel a forgatókönyve ... nos, kerestem egy kicsit összetettebbet vagy talán egyszerűbbet.
a helyzet az, hogy van egy nagy hálózatom 250 géppel, és vannak Wi-Fi pontok, de ugyanazt a telket vásárolják ...
Tudni fogja, hogyan tudnám összehasonlítani a mac-ot egy ip-vel, és hogy azt korábban be kell jelenteni, tehát ha van egy vicces ember, aki megváltoztatja az ip-t, legyen figyelmeztetés arra, hogy az ip és a mac nem egyezik.
Remélem, elmagyaráztam magam….
Annak ellenére, hogy bárhol kerestem, nem találok semmit erről.
Köszönöm, hogy megosztottad a szkriptet, módosítanom kell rajta, de alapvetően ez az, amit kerestem, megint nagyra értékeltem. Egészségére
Pont azt, amit kerestem, mert szükségem van a málnámra, hogy észleljem, amikor a telefonom csatlakozik a wifi-hez, hogy futtassak egy másik bash-t.
Köszönöm szépen