Bagaimana saya tahu jika mesin jarak jauh menggunakan Windows atau Linux?

10

Apakah ada cara untuk menjalankan perintah (seperti pesan ICMP atau protokol lain), mendapatkan respons dari mesin jarak jauh (bukan pada jaringan lokal pribadi saya) dan menganalisis pesan untuk menemukan beberapa bukti bahwa mesin ini menjalankan Windows atau sistem operasi Linux?

Diogo
sumber
Apa yang Anda rencanakan dengan informasi ini? Mungkin tidak bisa diandalkan ...
pjc50
Sebenarnya saya menggunakan pelanggan minggu lalu dan dia menggunakan sistem yang mencegah siapa pun untuk menggunakan sistem Windows di jaringannya. Itu dibuat oleh server jauh yang bukan merupakan jaringan yang sama, saya menganggapnya sangat aneh karena saya tidak tahu bagaimana itu dibuat.
Diogo
Ada beberapa cara yang dapat Anda lakukan untuk itu. Misalnya, jika Anda menggunakan DHCP untuk memberikan alamat jaringan, permintaan DHCP termasuk informasi tentang OS klien.
Harry Johnston

Jawaban:

16

Itu tidak definitif tetapi nmap akan melakukan ini dengan perintah nmap -O -v( lihat dokumen untuk lebih jelasnya) Jika Anda menjalankan windows atau menginginkan gui, lihat zenmap

Journeyman Geek
sumber
1
Pikirkan Anda - beberapa penyedia layanan akan mendeteksi pemindaian port menggunakan nmap sebagai penyalahgunaan.
Jeroen Baert
2
@ JoeroenBaert namelly AWS mengirimi saya email menakutkan
Jonathan dos Santos
10

Jika Anda menggunakan jaringan IPv4, cukup gunakan ping. Jika respons memiliki TTL 128, target mungkin menjalankan Windows. Jika TTL adalah 64, target mungkin menjalankan beberapa varian Unix.

Harry Johnston
sumber
Apa yang Anda maksud dengan benar?
Dchris
Bagaimana dengan TTL = 255? Saya pikir adalah Unix ..
Dchris
1
Saya tidak berpikir saya pernah melihat TTL 255.
Harry Johnston
Apa penjelasan untuk ini / Mengapa ini terjadi.
Hervian
1
@Hervian, jika Anda maksud mengapa TTL tertentu dipilih, Anda harus bertanya kepada programmer asli. Jika Anda maksudkan mengapa sebagian besar atau semua varian UNIX semuanya sama dan / atau mengapa TTL sama untuk setiap versi Windows, itu hanya akan menjadi inersia - tanpa adanya alasan khusus untuk mengubah sesuatu, ia cenderung tetap menjadi sama.
Harry Johnston
2
: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
    if %%i leq 130 (
       if %%i geq 100 (
          echo Windows & rem or echo %%c >> Windows.txt
       ) else (
          if %%i equ 64 (
             echo *IX & rem or echo %%c >> _IX.txt
          )
       )
    )
)
angin sungai
sumber
Bisakah ini dimodifikasi agar berfungsi dengan rentang IP? Jika saya ingin menjalankan ini untuk menemukan semua ttl untuk seluruh tumpukan server saya.
Eddie Studer
1

Salah satu cara untuk pergi adalah menggunakan NMap . Dari responnya, bisa menebak OS jarak jauh.

Apache
sumber
1

Paket: xprobe 'OR' xprobe2
Deskripsi: Identifikasi OS jarak jauh Xprobe2 memungkinkan Anda untuk menentukan sistem operasi apa yang sedang berjalan pada host jarak jauh. Ini mengirim beberapa paket ke host dan menganalisis jawaban yang dikembalikan. Fungsionalitas Xprobe2 sebanding dengan fitur sidik jari OS di nmap.

Contoh:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53.110 ###. ###. ###. ###

Referensi:
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/

tao
sumber
0

Posting lama tetapi saya pikir saya akan menambahkan ini juga, jika perangkat ini diaktifkan SNMP Anda juga dapat permintaan untuk sysDescr yang akan memberi tahu Anda OS yang digunakannya.

Unduh browser MIB, yang bagus yang saya gunakan ada di sini: http://www.ireasoning.com/downloadmibbrowserfree.php . Anda pada dasarnya memberikannya alamat IP perangkat dan melakukan operasi jalan kaki.

Johnathon64
sumber
Bisakah Anda memperluas jawaban Anda untuk menjelaskan bagaimana mencapainya? Terima kasih.
fixer1234
Anda dapat mengunduh browser MIB, yang bagus yang saya gunakan ada di sini ireasoning.com/downloadmibbrowserfree.php . Anda pada dasarnya memberikannya alamat ip perangkat dan melakukan operasi jalan
Johnathon64
0

Mengikuti saran dari Johnathon64, Anda bisa menggunakan SNMP untuk melakukan kueri langsung di server - dengan asumsi server jarak jauh itu sendiri dikonfigurasi untuk menggunakan SNMP. Anda bisa meluncurkan kueri baris perintah seperti yang ada di bawah ini untuk melakukannya:

snmpget -v1 -c public <RemoteServerIP> sysDescr.0 | sed -n 's/.*STRING: //p' | tr -d \"

Menjelaskan perintah itu sendiri:

  1. snmpget akan menanyakan objek sysDescr, yang berisi nama default objek.
  2. Berikut ini sedakan mengecualikan output awal, yang hanya berisi OID yang disurvei dan awal string.
  3. Perintah terakhir tr,, akan mengecualikan tanda kutip ganda, biasanya ditemukan dalam permintaan SNMP.

Dua perintah terakhir hanya untuk memformat output - jika Anda tidak membutuhkannya, dapat menggunakan perintah pertama untuk mengekstrak output lengkap.

FoxBuster
sumber