Skrip Bash: Bandingkan MAC semua komputer di rangkaian dengan yang tertentu

Di sini saya akan memberitahu anda tentang skrip bash yang saya buat untuk tujuan yang sangat khusus, saya ragu bahawa orang lain akan mengalami situasi ini tetapi, kerana saya memprogramkannya... saya tidak memerlukan sebarang bayaran untuk berkongsinya 

Di tingkat atas, apa ini?

Kebetulan di bandar saya terdapat rangkaian yang cukup besar, banyak dari kita tersambung dengan cara berwayar (kabel rangkaian ke suis, dihubungkan ke yang lain, dan banyak suis hehe), tetapi pautan besar (yang tidak boleh dilakukan dengan kabel) Mereka melakukannya dengan peralatan Wi-Fi, dengan cara ini anda mempunyai rangkaian dengan beberapa ribu pengguna, bahawa walaupun tidak ada perkhidmatan mel dan lebih kurang internet, anda bermain WoW (antara lain), anda belajar, berkongsi maklumat, dll.

Faktanya adalah bahawa peralatan Wi-Fi tertentu dilarang atau dikeluarkan dari rangkaian, baik kerana pemiliknya melanggar peraturan rangkaian, atau apa pun. Oleh itu, perlu melakukan imbasan setiap kali X untuk memeriksa sama ada seseorang telah menyambungkan semula MAC komputer yang dikeluarkan, dan di sinilah skrip ini masuk.

Ringkasnya, apakah skrip itu?

  1. Mula-mula melakukan imbasan di subnet di mana ia berjalan dan mengesan hos langsung (IP aktif)
  2. Kemudian, periksa sama ada IP tersebut adalah Ubiquiti (peralatan yang digunakan untuk pautan). Ia sebenarnya hanya mengesan jika port 443 dibuka pada setiap IP di atas.
  3. Ia mengeluarkan MAC setiap peranti langsung dan dengan port 443 terbuka, sementara pada masa yang sama membandingkan setiap MAC yang diekstrak dengan yang dicari.
  4. Sekiranya ia menemui padanan, ia menghasilkan laporan.

Ayuh, kodkannya!

Sah untuk menjelaskan bahawa untuk operasinya memerlukan pakej berikut dipasang: nmap… nc… arping

Nah, dengan nmap ia melakukan pemetaan untuk mengesan IP aktif, dengan nc kemudian ia memeriksa mana yang mempunyai port 443 terbuka, dan akhirnya dengan arping ia mengekstrak MAC.

Ya, saya tahu bahawa dengan nmap anda boleh melakukan semua ini, tetapi memerlukan beberapa saat (atau beberapa minit lagi), saya lebih suka menggunakan beberapa alat dan bukan hanya satu untuk menjadikan semuanya berfungsi lebih cepat.

Ya sekarang…. kodnya!

#! / bin / bash # # Memerlukan pakej dipasang: # nmap, arping, nc # # Pengarang: KZKG ^ Gaara jelas # Menyatakan pemboleh ubah TARIKH = `tarikh + '% Y-% m-% d_% H-% M 'INTERFACE =' wlo1 'WANTEDMAC =' C8: CB: B8: B1: DA: E6 'YOURIP = `ifconfig | grep "192.168" | awk '{print $ 2}' 'YOURZONE = `gema $ YOURIP | awk -F "." '{print $ 3}' '# Menarik Kehidupan Host di rangkaian (IP anda) nmap -sn 192.168. $ YOURZONE.0 / 24 | grep "laporkan untuk" | awk '{print $ 5}'> host-ip # Melihat Host mana yang boleh menjadi Nano dengan mempunyai port 443 open rm host-nanos &> / dev / null untuk TMPVAR di `cat host-ip` do nc -zv -w 2 $ TMPVAR 443 &> / dev / null jika [$? -satu 1]; kemudian gema "$ TMPVAR" >> host-nanos fi selesai # Mengeluarkan MAC dari Nanos di rangkaian rm host-mac &> / dev / null untuk TMPVAR di `cat host-nanos` do arping -I $ INTERFACE -f $ TMPVAR | grep "balas dari" | awk '{cetak $ 5}' | potong -d '[' -f2 | cut -d ']' -f1 >> hosts-mac selesai # Membandingkan MAC yang diekstrak dengan MAC yang dicari di `cat host-mac` lakukan jika [" $ MAC "=" $ WANTEDMAC "]; maka MACLINE = `cat host-mac | grep -n $ MAC | cut -d ':' -f1` IPMAC = `kucing hos-nanos | sed $ MACLINE'q; d'` echo -e "\ n \ t ALERT, MAC peranti dicuri dikesan: $ MAC ... Dengan IP: $ IPMAC" echo -e "\ t ... Menjana Laporan ... Laporan "echo -e" dihasilkan oleh SpyMac \ n "> final_report_ $ YOURZONE.info echo -e" Momen laporan: $ DATE \ n ">> final_report_ $ YOURZONE.info echo -e" MAC peranti dicuri dikesan: $ WANTEDMAC \ n ">> final_report_ $ YOURZONE.info echo -e" IP yang sedang digunakan oleh komputer ini: $ IPMAC \ n ">> final_report_ $ YOURZONE.info echo -e" Laporan dihasilkan oleh: $ YOURIP \ n ">> final_report_ $ YOURZONE.info fi selesai

Sekiranya terdapat kecocokan, ia akan menunjukkan kepada kita MAC yang dijumpai dan juga IP yang digunakan oleh peralatan tersebut.

Ini (masih) mempunyai jurang hehe

server

Saya tahu ada perkara yang perlu diperbaiki, contohnya MAC boleh dipalsukan, MAC boleh ditukar ke komputer dan itu sahaja, saya masih mencari cara untuk melihat MAC yang sebenar dan bukan yang salah sekiranya itu berlaku.

Juga, dengan menambahkan satu lagi untuk gelung, saya dapat membuat beberapa MAC dibandingkan pada masa yang sama dan tidak membandingkan / mencari hanya satu yang tertentu, iaitu mencari MAC yang ada dalam senarai, 5, 10, apa sahaja. Ini sesuatu yang belum saya buat.

Mungkin ia adalah Nano tetapi ia disekat port 443, saya tahu bagaimana saya dapat mengetahui dengan selamat sama ada ia adalah peranti Ubiquiti atau tidak, iaitu dengan curl (atau wget) saya boleh mendapatkan borang log masuk dan membandingkannya dengan salah satu Ubiquiti, ini adalah kaedah yang lebih selamat daripada dengan port 443. Ini adalah perincian lain untuk ditambahkan pada versi yang akan datang.

Saya juga ingin (yang sudah sukar bagi saya) untuk menghasilkan skrip kecil atau bahkan APK untuk mempunyai alat ini di Android saya. Saya tahu saya tidak akan dapat memasukkannya ke dalam Main Store tapi…. baik, bukan saya mahu 

Ah, pengguna iPhone ... walaupun saya boleh (untuk pengetahuan dan masa) saya akan memindahkan alat ini ke iOS ... JUAZ JUAZ JUAZ ... lihat di App Store Mari kita lihat jika secara kebetulan mereka mempunyai sesuatu yang serupa, yang saya ragu-ragu 

akhir

Nah itu sahaja. Saya ulangi, saya fikir skrip tertentu mungkin tidak berguna kepada ramai (ia adalah untuk situasi yang sangat spesifik), tetapi mungkin sebahagian daripada kod itu, saya harap begitu 