Ĉi tie mi parolos pri bash-skripto, kiun mi kreis por tre specifa celo, kiun mi dubas, ke aliaj havas ĉi tiun situacion, sed, ĉar mi programis ĝin ... ne kostas al mi dividi ĝin 🙂
Indekso
Supre, pri kio temas?
Okazas, ke en mia urbo estas sufiĉe granda reto, multaj el ni konektas per dratumita maniero (retkablo al ŝaltilo, ligita al alia, kaj multaj ŝaltiloj hehe), sed grandaj ligoj (kiuj ne povas esti per kablo) Ili faru per Wi-Fi-ekipaĵo, tiamaniere vi havas reton kun pluraj miloj da uzantoj, ke kvankam ne ekzistas retpoŝta servo kaj multe malpli interreto, vi ludas WoW (inter aliaj), vi lernas, dividas informojn ktp.
La fakto estas, ke okazis iuj Wi-Fi-ekipaĵoj malpermesitaj aŭ forpelitaj de la reto, ĉu pro tio, ke ĝia posedanto malobservas retajn regulojn, aŭ kio ajn. Do necesas skani ĉiun fojon por kontroli ĉu iu religis la MAC de la elĵetita komputilo, kaj ĉi tie eniras ĉi tiu skripto.
Simple dirite, kion faras la skripto?
- Unue ĝi skanas en la subreto, kie ĝi funkcias kaj detektas la vivajn gastigantojn (la aktivajn IP-ojn)
- Poste kontrolu ĉu iu el tiuj IP-oj estas Ubikvito (ekipaĵo uzata por ligoj). Ĝi efektive nur detektas ĉu la haveno 443 estas malfermita sur ĉiu el la supraj IP-oj.
- Ĝi forigas la MAC de ĉiu viva aparato kaj kun la haveno 443 malfermita, samtempe komparante ĉiun MAC eltiritan kun tiu serĉata.
- Se ĝi trovos kongruon, ĝi generos raporton.
Venu al la kodo!
Valida por klarigi, ke por ĝia funkciado ĝi bezonas la jenajn pakojn instalitajn: nmap ... nc ... arping
Nu, per nmap ĝi faras la mapadon por detekti aktivajn IP-ojn, per nc tiam ĝi kontrolas, kiu havas malfermitan pordon 443, kaj fine per arpado ĝi ĉerpas la MAC.
Jes, mi scias, ke per nmap vi povas fari ĉion ĉi, sed daŭris kelkajn sekundojn (aŭ minutojn pli), mi preferis uzi plurajn ilojn anstataŭ nur unu por ke ĉio funkciu pli rapide.
Jes nun ... la kodo!
#! / bin / bash # # Postulas la instaladon de la pakaĵoj: # nmap, arping, nc # # Author: KZKG ^ Gaara clear # Declaring variables 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}' "" # Forigo de Vivaj Gastigantoj en la reto (via IP) nmap -sn 192.168. $ YOURZONE.0 / 24 | grep "raporto por" | awk '{print $ 5}'> hosts-ip # Vidante kiu el ĉi tiuj gastigantoj povas esti Nano havante havenon 443 malfermitan rm hosts-nanos &> / dev / null por TMPVAR en `cat hosts-ip` do nc -zv -w 2 $ TMPVAR 443 &> / dev / null se [$? -ne 1]; tiam eou "$ TMPVAR" >> hosts-nanos fi finita # Akiri MAC de Nanos en la reto rm hosts-mac &> / dev / null por TMPVAR en `cat hosts-nanos` do arping -I $ INTERFACE -f $ TMPVAR | grep "respondo de" | awk '{print $ 5}' | tranĉi -d '[' -f2 | cut -d ']' -f1 >> hosts-mac done # Komparante eltiritajn MAC-ojn kun la serĉita MAC en `cat hosts-mac` do if [" $ MAC "=" $ WANTEDMAC "]; tiam MACLINE = `cat hosts-mac | grep -n $ MAC | tranĉi -d ':' -f1` IPMAC = `kato gastigas-nanos | sed $ MACLINE'q; d'` echo -e "\ n \ t ALERTO, MAC de ŝtelita aparato detektita: $ MAC ... Kun IP: $ IPMAC" echo -e "\ t ... Generanta Raporton ... "echo -e" Raporto generita de SpyMac \ n "> final_report_ $ YOURZONE.info echo -e" Raporta tempo: $ DATE \ n ">> final_report_ $ YOURZONE.info echo -e" MAC de ŝtelita aparato detektita: $ WANTEDMAC \ n ">> final_report_ $ YOURZONE.info echo -e" IP nuntempe uzata de ĉi tiu komputilo: $ IPMAC \ n ">> final_report_ $ YOURZONE.info echo -e" Raporto generita de: $ YOURIP \ n ">> final_report_ $ YOURZONE .info fi farita eliro
Se trovos kongruon, ĝi montros al ni la MAC trovitan kaj ankaŭ la IP uzatan de tiu teamo.
Ĉi tio (ankoraŭ) havas interspacojn hehe
Mi scias, ke estas plibonigendaj aferoj, ekzemple la MAC-oj povas esti falsitaj, la MAC-o ŝanĝeblas al la komputilo kaj jen, mi ankoraŭ serĉas kiel vidi la veran MAC kaj ne la falsan, se tio estas la kazo.
Ankaŭ, aldonante alian por buklo, mi povas fari plurajn MAC-ojn kompareblajn samtempe kaj ne kompari / serĉi nur specifan, do serĉi la MAC-ojn en listo, 5, 10, kio ajn. Estas io, kion mi ankoraŭ devas fari.
Eble ĝi estas Nano sed ĝi havas havenon 443 blokita, mi scias kiel scii kun plena sekureco ĉu ĝi estas Ubiquiti-aparato aŭ ne, tio estas, kun buklo (aŭ wget) mi povas akiri la ensalutan formon kaj kompari ĝin kun unu el Ubiquiti, ĉi tio estas pli sekura metodo ol kun la haveno 443. Ĝi estas alia detalo aldonebla en estontaj versioj.
Mi ankaŭ ŝatus (kio jam malfacilas por mi) generi malgrandan skripton aŭ eĉ APK por havi ĉi tiun ilon en mia Android. Mi scias, ke mi ne povos enmeti ĝin Play Store sed ... bueh, mi ne volas 😀
Ha, uzantoj de iPhone ... eĉ se mi povus (por scio kaj tempo) mi portus ĉi tiun ilon al iOS ... JUAZ JUAZ JUAZ ... rigardu en vian app Store Ni vidu, ĉu hazarde ili havas ion similan, pri kio mi dubas 😀
fino
Bona estas ĉio. Mi ripetas, mi pensas, ke la specifa skripto eble ne utilas al multaj (ĝi estas por sufiĉe specifa situacio), sed eble partoj de la kodo, espereble, tiel do
13 komentoj, lasu la viajn
Kun nmap vi povas akiri la MAC-ADRESON sen bezono fari tiun ips-mapadon kaj tiun konfirmon per nc kaj tiun uzon de arpado
elekto estas -PR
io simila
sudo nmap -sn IpAddress / netmask -PR | grep MAC | awk '{print $ 3}
Bona konsilo, kvankam ĝi postulas radikon nepre.
bash estas ĝenerale sufiĉe nelegebla krom se vi mem faris la skripton. sed viaj kodoj estas kompreneblaj xD
Alia afero, kiun vi povas fari, estas simpla ping al la malsama ip, tiam vi rigardas la arpajn tabelojn per la komando arp -a (en iuj kazoj vi devas instali retajn ilojn) kaj la mak-adresojn, kiujn mi pingis, mi pensas, ke ĝi estas la plej rapida solvo.
aŭ pli bone ankoraŭ
eoa "testo"> /dev/tcp/www.google.com/80
se ĝi donas eraron, la haveno (80) estas fermita
Saluton, ĉu vi povus efektivigi SNMP por povi identigi problemojn kiel ekzemple kia ekipaĵo ĝi estas, kia marko, kiajn kapablojn ĝi havas, ĝi ankaŭ povas esti la respondo al la kazo de ŝanĝita aŭ virtuala MAC; vi eĉ povas "administri" se la konf. snmp-servo estas malforta. Nur opinio, malfermante la gamon de ebloj de via skripto. Tre bona blogo, mi ĝojas, ke mi trovis ilin, mi legis ilin ofte! brakumo.
Tiu bash-skripto estas ege inspira.
La skripto estas tre komprenebla kaj tre bona, dankon, ĝi donis al mi bonajn ideojn, Salutojn
Estus bonege, se vi metus ĝin sur GITHUB, do ni ĉiuj kunlaborus tie.
Dankon pro dividado!
salutoj
Saluton, via bash-skripto estas tre bona, miaflanke mi rekomendas, ke por plibonigi sekurecon vi povus efektivigi aŭtentikan metodon, kiel trikojn, por malebligi eniradon de neaŭtorizitaj aŭ forpelitaj uzantoj. estas multaj programoj, kiujn ili povas uzi.
Dum falsado de Mac, kion vi faras estas sendi la falsan Mac en pakojn (tavolo 2 OSI), vi ne povas malkovri la realan, krom se la retkarto de la atakanto estas rekomencigita.
Mi interesiĝas pri via skripto ... nu, mi serĉis unu iom pli kompleksan aŭ eble simplan.
la afero estas, ke mi havas grandan reton de 250 maŝinoj kaj estas retpunktoj sed ili aĉetas la saman intrigon ...
Vi scios, kiel mi povus kompari mac kun ip kaj ke ĝi antaŭe devas esti deklarita, do kiam estas amuza persono, kiu ŝanĝas la ip, avertu, ke la ip kaj la mac ne kongruas.
Mi esperas, ke mi klarigis min ...
Kvankam mi serĉis ĉie, mi ne povas trovi ion pri tio ...
Dankon pro dividado de la skripto, mi devos fari kelkajn modifojn al ĝi, sed esence ĝi estas tio, kion mi serĉis, denove dankita. salutojn
Ĝuste tion, kion mi serĉis, ĉar mi bezonas mian frambon por detekti, kiam mia telefono konektas al wifi por funkciigi alian bash.
Multan dankon