ฉันจะรู้ได้อย่างไรว่าเครื่องระยะไกลกำลังใช้ Windows หรือ Linux


10

มีวิธีเรียกใช้คำสั่ง (เช่นข้อความ ICMP หรือโปรโตคอลอื่น) รับการตอบสนองจากเครื่องระยะไกล (ไม่ใช่เครือข่ายส่วนตัวของฉัน) และวิเคราะห์ข้อความเพื่อค้นหาหลักฐานบางอย่างว่าเครื่องนี้ใช้ Windows หรือ ระบบปฏิบัติการ Linux?


คุณวางแผนจะทำอะไรกับข้อมูลนี้? มันอาจไม่น่าเชื่อถือ ...
pjc50

ที่จริงฉันอยู่ในการดูแลเมื่อสัปดาห์ที่แล้วและเขาใช้ระบบที่ป้องกันไม่ให้ทุกคนใช้ระบบ Windows บนเครือข่ายของเขา มันถูกสร้างขึ้นโดยรีโมตเซิร์ฟเวอร์ที่ไม่ใช่เครือข่ายเดียวกันฉันคิดว่ามันแปลกมากเพราะฉันไม่รู้ว่ามันถูกสร้างขึ้นมาอย่างไร
Diogo

มีหลายวิธีที่คุณอาจทำเช่นนั้น ตัวอย่างเช่นหากคุณใช้ DHCP เพื่อระบุที่อยู่เครือข่ายคำขอ DHCP จะมีข้อมูลเกี่ยวกับระบบปฏิบัติการไคลเอ็นต์
Harry Johnston

คำตอบ:


16

ไม่ชัดเจน แต่nmapจะทำสิ่งนี้กับคำสั่งnmap -O -v( ดูเอกสารสำหรับรายละเอียดเพิ่มเติม) หากคุณใช้ windows หรือต้องการ gui ดูzenmap


1
โปรดทราบ - ผู้ให้บริการบางรายจะตรวจจับการสแกนพอร์ตโดยใช้ nmap ว่าเป็นการละเมิด
Jeroen Baert

2
@JeroenBaert namelly AWS ส่งอีเมลที่น่ากลัวให้ฉัน
Jonathan dos Santos

10

หากคุณอยู่ในเครือข่าย IPv4 เพียงใช้ ping หากการตอบสนองมี TTL 128 เป้าหมายอาจจะใช้ Windows หาก TTL เป็น 64 เป้าหมายอาจมีความแตกต่างของ Unix


คุณหมายถึงอะไรโดย propably?
Dchris

แล้ว TTL = 255 ล่ะ ฉันคิดว่าเป็น Unix ..
Dchris

1
ฉันไม่คิดว่าฉันเคยเห็น TTL ของ 255.
Harry Johnston

คำอธิบายสำหรับสิ่งนี้คืออะไร / เหตุใดในกรณีนี้
Hervian

1
@Hervian ถ้าคุณหมายถึงเหตุใดจึงเลือกใช้ TTL เหล่านั้นคุณต้องถามโปรแกรมเมอร์ต้นฉบับ ถ้าคุณหมายความว่าทำไมตัวแปร UNIX ส่วนใหญ่หรือทั้งหมดเหมือนกันทั้งหมดและ / หรือสาเหตุที่ TTL เหมือนกันสำหรับ Windows ทุกรุ่นนั่นจะเป็นความเฉื่อย - โดยไม่มีเหตุผลใด ๆ ที่จะเปลี่ยนแปลงบางสิ่งบางอย่าง เหมือนกัน.
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
          )
       )
    )
)

สิ่งนี้สามารถแก้ไขให้ทำงานกับช่วงของ IP ได้หรือไม่? ถ้าฉันต้องการเรียกใช้เพื่อค้นหา ttl ทั้งหมดสำหรับสแต็กเซิร์ฟเวอร์ทั้งหมดของฉัน
Eddie Studer

1

วิธีหนึ่งที่จะไปคือการใช้nmap จากการตอบสนองมันสามารถคาดเดาระบบปฏิบัติการระยะไกล


1

แพ็คเกจ: xprobe 'OR' xprobe2
คำอธิบาย: การระบุระบบปฏิบัติการระยะไกล Xprobe2 ช่วยให้คุณกำหนดระบบปฏิบัติการที่ทำงานบนโฮสต์ระยะไกล ส่งหลายแพ็คเก็ตไปยังโฮสต์และวิเคราะห์คำตอบที่ส่งคืน ฟังก์ชั่นของ Xprobe2 เปรียบได้กับคุณสมบัติการพิมพ์ลายนิ้วมือ OS ใน nmap

ตัวอย่าง:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###. ###. ###. ###. ###

การอ้างอิง:
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/


0

โพสต์เก่า แต่คิดว่าฉันจะเพิ่มเข้าไปในส่วนนี้เช่นกันหากอุปกรณ์นั้นเปิดใช้งาน SNMP คุณสามารถสอบถาม sysDescr ซึ่งจะบอกระบบปฏิบัติการที่คุณใช้

ดาวน์โหลดเบราว์เซอร์ MIB, ที่ดีอย่างหนึ่งที่ผมใช้อยู่ที่นี่: http://www.ireasoning.com/downloadmibbrowserfree.php โดยทั่วไปคุณให้ที่อยู่ IP ของอุปกรณ์และดำเนินการเดิน


คุณสามารถขยายคำตอบของคุณเพื่ออธิบายวิธีทำให้สำเร็จได้อย่างไร ขอบคุณ
fixer1234

คุณสามารถดาวน์โหลดเบราว์เซอร์ MIB, ที่ดีอย่างหนึ่งที่ผมใช้อยู่ที่นี่ireasoning.com/downloadmibbrowserfree.php โดยทั่วไปคุณให้ที่อยู่ IP ของอุปกรณ์และดำเนินการเดิน
Johnathon64

0

ทำตามคำแนะนำของ Johnathon64 คุณสามารถใช้ SNMP เพื่อสอบถามโดยตรงบนเซิร์ฟเวอร์โดยสมมติว่าเซิร์ฟเวอร์ระยะไกลนั้นได้รับการกำหนดค่าให้ใช้ SNMP คุณสามารถเรียกใช้คิวรีแบบบรรทัดคำสั่งเช่นแบบสอบถามด้านล่างเพื่อทำ:

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

อธิบายคำสั่งเอง:

  1. snmpget จะสอบถามวัตถุ sysDescr ซึ่งมีชื่อเริ่มต้นของวัตถุ
  2. ข้อมูลต่อไปนี้sedจะแยกเอาท์พุทเริ่มต้นซึ่งมีเฉพาะ OID แบบสำรวจและเริ่มต้นของสตริง
  3. คำสั่งสุดท้ายtrจะยกเว้นเครื่องหมายคำพูดคู่ใด ๆ ที่มักพบในแบบสอบถาม SNMP

คำสั่งสองคำสั่งสุดท้ายใช้สำหรับการจัดรูปแบบเอาต์พุตเท่านั้น - หากคุณไม่ต้องการคำสั่งนั้นอาจใช้คำสั่งแรกสุดเพื่อแยกเอาต์พุตทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.