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

Di sini saya akan bercakap mengenai skrip bash yang saya buat untuk tujuan yang sangat spesifik, yang saya ragu bahawa orang lain mempunyai situasi ini tetapi, sejak saya memprogramkannya ... tidak ada apa-apa kos untuk saya kongsikan 🙂

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 tetapi…. bueh, bukan itu yang 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 😀

akhir

Baik adalah segalanya. Saya ulangi, saya berpendapat bahawa skrip tertentu mungkin tidak berguna bagi banyak orang (ia adalah untuk situasi yang cukup spesifik), tetapi mungkin bahagian-bahagian kodnya, mudah-mudahan dan sebagainya


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   bilah malaikat kata

    Dengan nmap anda boleh mendapatkan ALAMAT MAC tanpa perlu melakukan pemetaan ips dan pengesahan itu dengan nc dan penggunaan arping

    pilihan adalah -PR

    sesuatu seperti itu
    sudo nmap -sn IpAddress / netmask -PR | grep MAC | awk '{cetak $ 3}

    1.    eliotime3000 kata

      Petua yang baik, walaupun memerlukan akar.

  2.   dario kata

    bash biasanya tidak dapat dibaca melainkan anda sendiri membuat skrip. tetapi kod anda dapat difahami xD

    Perkara lain yang boleh anda lakukan adalah ping mudah ke IP yang berlainan maka anda melihat jadual arp dengan arahan arp -a (dalam beberapa kes anda harus memasang alat bersih) dan alamat mac yang di-ping saya fikir ia adalah penyelesaian terpantas.

  3.   dario kata

    atau lebih baik lagi
    echo "test"> /dev/tcp/www.google.com/80
    jika memberikan kesalahan, port (80) ditutup

  4.   Mario kata

    Halo, bolehkah anda menerapkan SNMP untuk dapat mengenal pasti masalah seperti jenis peralatannya, jenama apa, keupayaan apa yang ada, ia juga boleh menjadi jawapan kepada kes MAC yang berubah atau maya; anda juga boleh "menguruskan" jika konfirmasi. perkhidmatan snmp lemah. Sekadar pendapat, membuka pelbagai kemungkinan skrip anda. Blog yang sangat bagus, saya gembira kerana menjumpainya, saya sering membacanya! peluk.

  5.   Frank Alexander kata

    Skrip bash itu sangat memberi inspirasi.

  6.   bunga api kata

    Skripnya sangat difahami dan sangat baik, terima kasih, ini memberi saya idea yang baik, Salam

  7.   pegasusonline kata

    Akan lebih bagus jika anda meletakkannya di GITHUB, jadi kami semua akan bekerjasama di sana.

    Terima kasih kerana sudi berkongsi!
    salam

  8.   Luciano Lagassa kata

    Halo, skrip bash anda sangat bagus, bagi pihak saya, saya mengesyorkan agar untuk meningkatkan keselamatan anda boleh menggunakan kaedah pengesahan, seperti wisps, untuk mengelakkan pengguna yang tidak dibenarkan atau diusir masuk. terdapat banyak perisian yang boleh mereka gunakan.

  9.   penipu kata

    Semasa melakukan spoofing mac, apa yang anda lakukan adalah mengirim mac palsu dalam paket (OSI lapisan 2), anda tidak dapat menemui yang sebenar kecuali kad rangkaian penyerang diset semula.

  10.   Alexander Seijas kata

    Saya berminat dengan skrip anda ... yah, saya telah mencarinya sedikit lebih kompleks atau mungkin ringkas ...

    masalahnya ialah saya mempunyai rangkaian 250 mesin besar dan ada titik Wi-Fi tetapi mereka membeli plot yang sama ...

    Anda akan tahu bagaimana saya dapat membuat mac dibandingkan dengan ip dan ia mesti dinyatakan sebelum ini, jadi apabila ada orang lucu yang mengubah ip, beri amaran bahawa ip dan mac tidak sepadan.

    Saya harap saya telah menjelaskan diri saya….

    Walaupun saya melihat ke mana-mana, saya tidak dapat menjumpai apa-apa mengenai perkara itu….

  11.   Hotmail kata

    Terima kasih kerana berkongsi skrip, saya harus membuat beberapa pengubahsuaian pada skripnya tetapi pada dasarnya itulah yang saya cari, sekali lagi dihargai. Sorakan

  12.   Isidore kata

    Apa yang saya cari, kerana saya memerlukan raspberry saya untuk mengesan ketika telefon saya bersambung ke wifi untuk menjalankan bash lain.
    terima kasih banyak