Wussten Sie, dass Sie herausfinden können, unter welchem Betriebssystem ein Netzwerkgerät ausgeführt wird, indem Sie sich die Art und Weise ansehen, wie es über das Netzwerk kommuniziert? Mal sehen, wie wir herausfinden können, welches Betriebssystem unsere Geräte verwenden.
Warum willst du das tun?
Das Bestimmen, auf welchem Betriebssystem eine Maschine oder ein Gerät ausgeführt wird, kann aus vielen Gründen hilfreich sein. Lassen Sie uns zunächst einen Blick auf die tägliche Perspektive werfen und sagen, Sie möchten ein Upgrade auf einen neuen ISP durchführen, der für 50 US-Dollar pro Monat einen unbegrenzten Internetzugang bietet, damit Sie dessen Service ausprobieren können. Wenn Sie den Fingerabdruck des Betriebssystems verwenden, werden Sie bald feststellen, dass sie über Junk-Router verfügen und PPPoE-Dienste anbieten, die auf einer Reihe von Windows Server 2003-Computern angeboten werden. Das klingt nicht mehr nach so viel, oder?
Eine andere Verwendung davon, obwohl nicht so ethisch, ist, dass die Sicherheitslücken spezifisch für das Betriebssystem sind. Wenn Sie beispielsweise einen Port-Scan durchführen und feststellen, dass Port 53 geöffnet ist und auf dem Computer eine veraltete und anfällige Version von Bind ausgeführt wird, haben Sie NUR EINE Chance, die Sicherheitslücke auszunutzen, da ein erfolgloser Versuch den Daemon zum Absturz bringen würde.
Wie funktioniert der Fingerabdruck des Betriebssystems?
Wenn Sie eine passive Analyse des aktuellen Datenverkehrs durchführen oder sogar alte Paketerfassungen betrachten, besteht eine der einfachsten und effektivsten Möglichkeiten, einen Fingerabdruck des Betriebssystems zu erfassen, darin, einfach die Größe des Betriebssystems, das TCP-Fenster und die Lebensdauer zu betrachten (TTL) im IP-Header des ersten. Paket in einer TCP-Sitzung.
Hier sind die Werte der gängigsten Betriebssysteme:
Betriebssystem | Zeit zu leben | TCP-Fenstergröße |
Linux (Kernel 2.4 und 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista und 7 (Server 2008) | 128 | 8192 |
iOS 12.4 (Routeurs Cisco) | 255 | 4128 |
Der Hauptgrund dafür, dass Betriebssysteme unterschiedliche Werte haben, liegt darin, dass die RFCs für TCP / IP keine Standardwerte festlegen. Ein weiterer wichtiger Punkt ist, dass der TTL-Wert nicht immer mit einem in der Tabelle übereinstimmt, selbst wenn auf Ihrem Gerät eines der aufgelisteten Betriebssysteme ausgeführt wird. Wenn Sie ein IP-Paket über das Netzwerk senden, sehen Sie, wie das System funktioniert Sendegerät. Setzt die TTL auf die Standard-TTL für dieses Betriebssystem. Wenn das Paket jedoch die Router durchläuft, wird die TTL um 1 gesenkt. Wenn Sie also eine TTL von 117 sehen, können Sie davon ausgehen, dass es sich um ein Paket handelt, das mit einer TTL gesendet wurde von 128 und durchlief 11 Router, bevor er erfasst wurde.
Die Verwendung von tshark.exe ist der einfachste Weg, um die Werte anzuzeigen. Wenn Sie eine Paketerfassung durchgeführt haben, stellen Sie sicher, dass Wireshark installiert ist, und navigieren Sie zu:
C: Programme
Halten Sie nun die Umschalttaste gedrückt, klicken Sie mit der rechten Maustaste auf den WireShark-Ordner und wählen Sie hier im Kontextmenü das Befehlsfenster öffnen
Geben Sie nun Folgendes ein:
tshark -r "C:UsersTaylor GibbDesktopblah.pcap" "tcp.flags.syn eq 1" -T fields -e ip.src -e ip.ttl -e tcp.window_size
Stellen Sie sicher, dass “C: Benutzer Taylor Gibb Desktop blah.pcap” durch den absoluten Pfad zum Erfassen Ihrer Pakete ersetzt wird. Sobald Sie die Eingabetaste drücken, werden alle SYN-Pakete in Ihrer Erfassung in einem besser lesbaren Tabellenformat angezeigt
Dies ist eine zufällige Paketerfassung, die ich von meinem Login auf der How-To Geek-Website aus gemacht habe. Neben all den anderen Chatter-Windows-Funktionen kann ich Ihnen zwei Dinge mit Sicherheit sagen:
- Mein lokales Netzwerk ist 192.168.0.0/24
- Ich bin auf einer Windows 7-Box
Wenn Sie sich die erste Zeile der Tabelle ansehen, werden Sie sehen, dass ich nicht lüge, meine IP-Adresse ist 192.168.0.84, meine TTL ist 128 und meine TCP-Fenstergröße ist 8192, was den Werten in Windows entspricht 7.
Als nächstes sehe ich eine Adresse 74.125.233.24 mit einer TTL von 44 und einer TCP-Fenstergröße von 5720. Wenn ich mir meine Tabelle anschaue, gibt es kein Betriebssystem mit einer TTL von 44, aber dies besagt, dass das Linux, das die Server von Google ausführen, vorhanden ist Eine Fenstergröße von TCP 5720. Nachdem Sie eine schnelle Websuche nach der IP-Adresse durchgeführt haben, werden Sie feststellen, dass es sich tatsächlich um einen Google-Server handelt.
Wofür verwenden Sie tshark.exe noch? Sagen Sie es uns in den Kommentaren.
Hinterlasse einen Kommentar