Bisakah DHCP Server menentukan OS klien? [Tutup]

18

Apakah mungkin bagi DHCP Server untuk menentukan sistem operasi klien?

Saya sedang mengerjakan alat pemantauan untuk gateway di jaringan lokal yang berbasis web dan ingin dapat entah bagaimana menentukan OS apa yang sedang dijalankan perangkat di jaringan dan bagi saya tempat yang paling jelas untuk menemukan adalah pada waktu alamat IP ditetapkan oleh DHCP Server.

Gagal itu, saya tahu bagaimana cara memfilter lalu lintas pada port 80 dan menarik info header HTML, tetapi metode ini bergantung pada menunggu perangkat untuk menjelajahi web dan dengan demikian kurang diinginkan daripada sangat dini dalam deteksi / resolusi, esp. karena tidak setiap perangkat akan digunakan untuk menjelajah internet.

Saya memiliki kendali penuh atas konfigurasi gateway - ini menjalankan distro debian yang dikupas, jadi alat lain yang akan melakukan pekerjaan - DHCP, DNS, ARP, dll, saya terbuka untuk saran!

Michael Lang
sumber
Infoblox memiliki server DHCP yang akan melakukan sidik jari OS.
some_guy_long_gone

Jawaban:

15

Beberapa pekerjaan telah dilakukan untuk menentukan perbedaan halus dalam paket DHCP dari OS yang berbeda, menghasilkan sidik jari DHCP. Contohnya termasuk opsi yang ada dalam permintaan DHCP dan urutannya, dan konten opsi tertentu seperti opsi 55 (daftar parameter).

Lihatlah kertas dan tanda tangan di fingerbank.org . Ini menunjukkan (belum diuji sendiri) sidik jari OS pasif berdasarkan lalu lintas DHCP dapat dilakukan. Hasilnya mungkin dapat ditingkatkan dengan memasukkan informasi lain, seperti properti IP generik (TTL, diffserv, ...).

Sidik jari aktif mungkin memberikan hasil yang lebih baik, tetapi mungkin tidak menjadi opsi dalam kasus penggunaan Anda.

Situs web Fingerbank menyebutkan beberapa produk sumber terbuka yang menggunakan tanda tangan. Alat DHCP eksklusif, Infoblox, tampaknya memiliki fitur serupa, tetapi tidak ada rincian teknis yang disediakan.

Gerben
sumber
3

Beberapa klien DHCP tidak dapat dipercaya mengungkapkan informasi OS saat boot. Seperti yang disebutkan di atas, ada beberapa kekayaan intelektual yang terkait dengan teknik ini; misalnya, Infoblox dan Cisco ISE dapat membuat profil OS klien berdasarkan paket dhcp yang mereka lihat. Sebenarnya Cisco ISE menyertakan beberapa algoritma klasifikasi OS yang cukup canggih, jika Anda dapat mengirim lebih dari dhcp ke sana.

Atau, Anda bisa menggunakan heuristik seperti bug endian Windows di bidang "detik berlalu", tetapi mengandalkan bug OS adalah cara yang buruk untuk menangani deteksi OS.

Jika Anda benar-benar harus mendeteksi OS tanpa alat vendor khusus, cukup keluarkan alamat IP, dan pindai host dengan NMAP setelah mengirim DHCP Ack. Menggunakan header HTTP tidak dapat diandalkan seperti nmap , karena siapa pun dapat mengubah string UserAgent jika mereka mau. nmap tidak 100% andal dalam pendeteksian OS, tetapi ini hampir sama baiknya dengan yang akan Anda temukan jika Anda harus memilih satu metode untuk semuanya.

Saya akan menjadikan ini sebagai opsi yang dapat dikonfigurasi di server karena beberapa orang mungkin tidak menyukai pemindaian nmap default pada setiap host DHCP.

Contoh pemindaian nmap OS terhadap Windows7:

[mpenning@myhost ~]$ sudo nmap -O 10.1.1.1

Starting Nmap 5.51 ( http://nmap.org ) at 2013-08-24 16:20 CDT
Nmap scan report for 10.1.1.1
Host is up (0.00078s latency).
Not shown: 985 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds

Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 - SP2, Server 2008, or Windows 7 Ultimate
Network Distance: 5 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.25 seconds
[mpenning@myhost ~]$
Mike Pennington
sumber
Terima kasih telah menunjukkan kemampuan sidik jari nmap ... Rapi dan berfungsi sekitar 50% dari waktu (mendapatkan 5 dari 10 komputer di jaringan saya yang benar), tetapi pemindaiannya membutuhkan waktu 25 detik hingga 102 detik untuk setiap perangkat. Ini memang, tetapi membantu saya memahami banyak tentang sidik jari OS dan esp. opsi pasif yang tampaknya menjadi taruhan terbaik saya.
Michael Lang
@MichaelLang Untuk mengurangi jumlah waktu yang dibutuhkan, jalankan nmap dengan -T5flag untuk mempercepat segalanya secara drastis .
Ryan Foley
2

Sebagai bagian dari proses DHCP itu sendiri, saya tidak percaya begitu. Namun, Anda dapat mengikis log dhcpd Anda, mengawasi ack dhcp dan berdasarkan pada mereka menjalankan proses eksternal seperti nmap os fingerprinting untuk melihat apakah Anda dapat mengetahui apa yang ada di balik IP yang baru saja ditugaskan.

Menandai
sumber
2

Jawaban akurat terpendek adalah tidak. Anda sudah mendapatkan jawaban yang bermanfaat tentang nmap, tetapi jika harus melalui DHCP banyak klien mengirim pengidentifikasi kelas vendor mereka (opsi DHCP 60) dalam paket menemukan mereka sehingga server DHCP dapat memberikan penawaran dengan opsi spesifik vendor (opsi DHCP 43). Jika Anda menjalankan tcpdump, lihatlah pada DHCP temukan paket yang dikirim oleh klien untuk opsi 60 Anda dapat melihat hal-hal seperti MSFT 5.0untuk klien Windows, udhcpcbiasanya untuk perangkat tertanam yang menjalankan klien mikro dhcp, dll. Ingatlah bahwa informasi ini tidak terlalu spesifik karena digunakan untuk membedakan klien DHCP daripada sistem operasi.

pajaja
sumber
1
Juga, cara lain yang bermanfaat untuk setidaknya mempersempit apa yang mungkin ada pada suatu perangkat di jaringan adalah dengan mencari OUI mereka berdasarkan alamat MAC mereka di situs web IEEE.
Michael Lang