Čia aš kalbėsiu apie bash scenarijų, kurį sukūriau labai konkrečiam tikslui, kurį abejoju, ar kiti turi tokią situaciją, bet kadangi aš jį užprogramavau ... man nieko nekainuoja ja dalytis 🙂
Viršuje, apie ką tai?
Būna, kad mano mieste yra gana didelis tinklas, daugelis iš mūsų jungiamės laidiniu būdu (tinklo kabelis prie jungiklio, susietas su kitu ir daugelis jungiklių hehe), tačiau didelės nuorodos (kurios negali būti kabeliu) darykite su „Wi-Fi“ įranga, tokiu būdu turite tinklą su keliais tūkstančiais vartotojų, kad nors nėra pašto paslaugos ir kur kas mažiau interneto, jūs žaidžiate „WoW“ (be kita ko), mokotės, dalijatės informacija ir t.t.
Faktas yra tas, kad tam tikra „Wi-Fi“ įranga yra uždrausta arba pašalinta iš tinklo dėl to, kad jos savininkas pažeidžia tinklo taisykles, ar bet ką. Taigi, kiekvieną kartą reikia atlikti nuskaitymą, norint patikrinti, ar kas nors iš naujo prijungė išmesto kompiuterio MAC, ir čia yra šis scenarijus.
Paprasčiau tariant, ką veikia scenarijus?
- Pirmiausia nuskaito potinklyje, kuriame veikia, ir aptinka tiesioginius kompiuterius (aktyvius IP)
- Tada patikrinkite, ar kuris nors iš šių IP yra „Ubiquiti“ (nuorodoms naudojama įranga). Iš tikrųjų jis aptinka tik tai, ar 443 prievadas atidarytas kiekviename iš aukščiau nurodytų IP.
- Jis pašalina kiekvieno veikiančio įrenginio MAC ir atidarius 443 prievadą, tuo pačiu metu lyginant kiekvieną išgautą MAC su ieškomu.
- Jei randa atitikimą, jis sugeneruoja ataskaitą.
Nagi, prie kodo!
Galioja norint paaiškinti, kad jo veikimui reikalingi šie paketai: nmap… nc ... arping
Na, naudodamas „nmap“, jis susieja žemėlapius, norėdamas aptikti aktyvius IP, su nc tada patikrina, kuriame iš jų yra atidarytas 443 prievadas, ir galiausiai, pažymėdamas jį, ištraukia MAC.
Taip, aš žinau, kad visa tai galite padaryti naudodami „nmap“, bet tai užtruko kelias sekundes (ar daugiau minučių), aš norėjau naudoti keletą įrankių, o ne tik vieną, kad viskas veiktų greičiau.
Taip dabar…. kodas!
#! / bin / bash # # Reikia įdiegti paketus: # nmap, arping, nc # # Autorius: KZKG ^ Gaara išvalyti # Kintamųjų deklaravimas '' INTERFACE = 'wlo1' WANTEDMAC = 'C8: CB: B8: B1: DA: E6' YOURIP = `ifconfig | grep "192.168" | awk '{print $ 2}' 'YOURZONE = `aidas $ YOURIP | awk -F "." '{print $ 3}' '# Gyvų šeimininkų traukimas tinkle (jūsų IP) nmap -sn 192.168. $ YOURZONE.0 / 24 | grep "ataskaita" | awk '{print $ 5}'> hosts-ip # Pažiūrėkite, kurie iš tų šeimininkų gali būti „Nano“, turėdami 443 prievadą „TMPVAR“ atidarę „Rm hosts-nanos &> / dev / null“ programoje „cat hosts-ip“ do nc -zv -w 2 $ TMPVAR 443 &> / dev / null jei [$? -ne 1]; tada atkartokite „$ TMPVAR“ >> hosts-nanos fi atlikta # MAC pašalinimas iš nanosų tinklo rm hosts-mac &> / dev / null, skirtas TMPVAR, naudojant „cat hosts-nanos“, darau -I $ INTERFACE -f $ TMPVAR | grep "atsakyti nuo" | awk '{print $ 5}' | supjaustyti -d '[' -f2 | cut -d ']' -f1 >> hosts-mac done # Ištrauktų MAC palyginimas su ieškomais MAC, esančiais `cat hosts-mac` do, jei [" $ MAC "=" $ WANTEDMAC "]; tada MACLINE = `cat hosts-mac | grep -n $ MAC | cut -d ':' -f1` IPMAC = `katės šeimininkai-nanos | sed $ MACLINE'q; d'` echo -e "\ n \ t ALERT, aptiktas pavogto įrenginio MAC: $ MAC ... Su IP: $ IPMAC" echo -e "\ t ... Generuojama ataskaita ... „SpyMac“ sugeneruota ataskaita \ n "> final_report_ $ YOURZONE.info echo -e" Ataskaitos laikas: $ DATE \ n ">> final_report_ $ YOURZONE.info echo -e" Aptiktas pavogto įrenginio MAC: $ WANTEDMAC \ n ">> final_report_ $ YOURZONE.info echo -e" IP šiuo metu naudojamas šiame kompiuteryje: $ IPMAC \ n ">> final_report_ $ YOURZONE.info echo -e" Ataskaitą sukūrė: $ YOURIP \ n ">> final_report_ $ YOURZONE .info fi padarytas išėjimas
Jei bus rasta atitiktis, ji parodys mums rastą MAC ir IP, kurį ta įranga naudoja.
Tai (vis dar) turi spragų hehe
Aš žinau, kad yra ką tobulinti, pavyzdžiui, MAC galima suklastoti, MAC galima pakeisti į kompiuterį ir viskas, aš vis dar ieškau, kaip pamatyti tikrąjį MAC, o ne klaidingą, jei taip yra .
Be to, pridėdamas kitą ciklui, galiu palyginti kelis MAC vienu metu ir nelyginti / ieškoti tik konkretaus, tai yra ieškoti sąraše esančių MAC, 5, 10, kad ir kokie jie būtų . Tai dar kažkas, ką dar turiu padaryti.
Galbūt tai yra „Nano“, bet jis užblokuotas 443 prievadas. Aš žinau, kaip su visišku saugumu žinoti, ar tai yra „Ubiquiti“ įrenginys, ar ne, tai yra su „curl“ (arba „wget“). Aš galiu gauti prisijungimo formą ir ją palyginti naudojant vieną iš „Ubiquiti“, tai yra saugesnis metodas nei naudojant 443 prievadą. Tai dar viena detalė, kurią reikia pridėti būsimose versijose.
Taip pat norėčiau (man bus sunku) sugeneruoti nedidelį scenarijų ar net APK, kad šis įrankis būtų mano „Android“. Žinau, kad negalėsiu jo įdėti Groti parduotuvė bet…. bueh, ne tai, kad norėčiau 😀
Ak, „iPhone“ vartotojai ... net jei galėčiau (žinių ir laiko), galėčiau perkelti šį įrankį į „iOS“ ... JUAZ JUAZ JUAZ ... pažvelk į savo "App Store" Pažiūrėkime, ar atsitiktinai jie turi kažką panašaus, dėl ko abejoju 😀
pabaiga
Geras yra viskas. Kartoju, manau, kad konkretus scenarijus gali būti nenaudingas daugeliui (jis skirtas gana konkrečiai situacijai), bet galbūt kodo dalys taip, tikiuosi ir taip
Naudodami nmap galite gauti MAC ADDRESS nereikalaudami to ips atvaizdavimo ir patikrinimo su nc bei arping naudojimo
variantas yra -PR
kažkas panašaus
sudo nmap -sn IpAddress / netmask -PR | grep MAC | awk '{print $ 3}
Geras patarimas, nors tam būtinai reikia šaknies.
„bash“ paprastai yra gana neįskaitomas, nebent scenarijų atlikote patys. bet jūsų kodai yra suprantami xD
Kitas dalykas, kurį galite padaryti, yra paprastas pingas skirtingiems IP, tada jūs žiūrite į arp lenteles naudodami komandą arp -a (kai kuriais atvejais turite įdiegti tinklo įrankius) ir ping adresus, kurie buvo pinguoti, manau, kad tai greičiausias sprendimas.
ar dar geriau
echo "test"> /dev/tcp/www.google.com/80
jei tai suteikia klaidą, prievadas (80) uždarytas
Sveiki, ar galėtumėte įdiegti SNMP, kad galėtumėte nustatyti tokias problemas kaip kokio tipo įranga, koks prekės ženklas, kokias galimybes ji turi, tai taip pat gali būti atsakymas į pakeistą ar virtualų MAC; jūs netgi galite gauti "tvarkyti", jei konf. snmp paslauga silpna. Tiesiog nuomonė, atverianti savo scenarijaus galimybių spektrą. Tinklaraštis labai geras, džiaugiuosi, kad juos radau, dažnai skaitau! apkabinti.
Tas bash scenarijus yra nepaprastai įkvepiantis.
Scenarijus yra labai suprantamas ir labai geras, ačiū, jis man suteikė gerų idėjų, Sveikinimai
Būtų puiku, jei įdėtumėte jį į GITHUB, taigi mes visi ten bendradarbiautume.
Ačiū už dalinimąsi!
saludos
Sveiki, jūsų „bash“ scenarijus yra labai geras. Savo ruožtu aš rekomenduoju, kad pagerintumėte saugumą, galite įdiegti autentifikavimo metodą, pvz., „Smartps“, kad išvengtumėte neteisėtų ar pašalintų vartotojų patekimo. yra daug programinės įrangos, kurią jie gali naudoti.
Apgaulingai dirbant „Mac“ kompiuteriu, jūs siunčiate padirbtus „Mac“ paketuose (2 sluoksnio OSI), tikro atkurti negalėsite, nebent atkurta užpuoliko tinklo plokštė.
Mane domina tavo scenarijus ... gerai, aš ieškojau šiek tiek sudėtingesnio, o gal paprasto ..
Reikalas tas, kad turiu didelį 250 mašinų tinklą ir yra „wifi“ taškų, tačiau jie perka tą patį sklypą ...
Jūs žinosite, kaip galėčiau palyginti „Mac“ su „IP“ ir kad tai turėtų būti iš anksto deklaruota, taigi, kai yra juokingas žmogus, kuris pakeičia „IP“, turėkite perspėjimą, kad „iPod“ ir „Mac“ neatitinka.
Tikiuosi, kad paaiškinau sau….
Nors ieškojau visur, nieko apie tai nerandu ...
Ačiū, kad pasidalijote scenarijumi, turėsiu atlikti kai kuriuos pakeitimus, bet iš esmės tai, ko aš ieškojau, vėl įvertinau. linkėjimais
Tiesiog tai, ko ieškojau, nes man reikia, kad mano avietė aptiktų, kai mano telefonas prisijungs prie „Wi-Fi“, kad paleisčiau kitą bashą.
Labai ačiū