
Wir müssen überprüfen, ob die folgenden Remote-IPslinuxOS oder andere alsgewinnen
Beispiel
12.43.223.4
23.54.67.3
23.5.6.3
wir haben eine Linux-Maschine – Redhat, und von dieser Maschine aus müssen wir die Remote-Maschine identifizieren, ob es sich um Linux oder etwas anderes handelt?
wie ich weiß, können wir durch nmap identifizieren
aber ich möchte einen anderen Weg finden, da nmap nicht auf Produktionsmaschinen installiert ist
also, gibt es einen Vorschlag, wie man überprüft, ob es sich bei der Remote-Maschine um Linux oder etwas anderes handelt? (nicht mit nmap)
Antwort1
Wenn ich Ihre Frage richtig verstehe, fragen Sie:
Wie kann das Betriebssystem eines Computers in einem Netzwerk identifiziert werden, ohne sich anzumelden?
Das ist nicht möglich. Jedes Computersystem in einem Netzwerk, vorausgesetzt, dass es sich bei diesem Netzwerk um ein typisches IP (Internetprotokoll) auf TCP/IP-Basis handelt, kommuniziert auf der Grundlage dieses Protokolls. Und wenn das alles ist, womit Sie arbeiten können, dann:
- Ein Computer in einem Netzwerk kann so konfiguriert werden, dass er zunächst unsichtbar ist, z. B. nicht auf Pings reagiert,
- aber wenn es antwortet oder ein Hinweis darauf zu sehen ist, dass dieses Computersystem im Netzwerk ist, wie können Sie dann feststellen, ob es sich um Windows, Linux, macOS, Android oder ein anderes System handelt? Das können Sie nicht: Das IP/TCP-Protokoll sieht dies nicht vor.
Ich nehme an, wenn ein System irgendwie auf einer ausreichend niedrigen Ebene konfiguriert ist, um diese Art von Informationen in den TCP/IP-Header jedes gesendeten Pakets aufzunehmen, dann kann man damit vielleicht arbeiten, aber das wäre sehr individuell. Ansonsten gibt es meines Wissens keine zuverlässige Lösung, es sei denn, Sie können sich bei diesem System anmelden. Wenn Sie sich über das SSH-Protokoll bei einem System anmelden, ist das auch egal, denn das SSH-Protokoll ist betriebssystemunabhängig. Wenn Sie also sehen, dass ein Computersystem über SSH auf Port 22 antwortet, kann das jedes Computergerät mit jedem Betriebssystem tun, solange es dem SSH-Protokoll folgt, das dann über dem Internetprotokoll ausgeführt wird.
Dies ist natürlich der Grund, warum IP so großartig ist. Es ermöglicht die Kommunikation zwischen allen Geräten (unabhängig vom Betriebssystem), solange sie die gleichenInternetprotokollEine Analogie wäre: Ich muss nicht wissen, ob Sie männlich, weiblich oder irgendein anderes Merkmal haben, solange Sie ein vorgegebenes Sprachprotokoll (in diesem Fall die englische Sprache) befolgen, können wir auf einer gewissen Ebene kommunizieren.
Lesen Sie bitte dieIPV4 Wikipedia-Artikel, sowie die Geschichte des Internets.
Antwort2
for i in hostname1 hostname2;
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk '{if($0 ~ /Linux/){print "Its Linux os"}else{print "its not linux os"}}'
EOF
done