how to check OS is linux or other? [closed]

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0















we need to check if the following remote ip's are linux OS or other as win



example



12.43.223.4
23.54.67.3
23.5.6.3


we have Linux machine - redhat , and from this machine we need to identify the remote machine if they are Linux or other ?



as I know we can identify by nmap



but I want to find other way since nmap not installed on production machines



so any suggestion how to check remote machine is Linux or other ? ( not by nmap )










share|improve this question















closed as too broad by Jeff Schaller, Rui F Ribeiro, Mr Shunz, andcoz, Wouter Verhelst Jan 18 at 16:31


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.













  • 1





    are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

    – Jeff Schaller
    Jan 17 at 15:56






  • 1





    Are the IP addresses yours?

    – Kusalananda
    Jan 17 at 16:20






  • 2





    You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

    – Doug O'Neal
    Jan 17 at 16:24






  • 2





    NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

    – ron
    Jan 17 at 16:41







  • 1





    Is flipping a coin, head or tails, totally out of question?

    – Rui F Ribeiro
    Jan 17 at 16:46















0















we need to check if the following remote ip's are linux OS or other as win



example



12.43.223.4
23.54.67.3
23.5.6.3


we have Linux machine - redhat , and from this machine we need to identify the remote machine if they are Linux or other ?



as I know we can identify by nmap



but I want to find other way since nmap not installed on production machines



so any suggestion how to check remote machine is Linux or other ? ( not by nmap )










share|improve this question















closed as too broad by Jeff Schaller, Rui F Ribeiro, Mr Shunz, andcoz, Wouter Verhelst Jan 18 at 16:31


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.













  • 1





    are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

    – Jeff Schaller
    Jan 17 at 15:56






  • 1





    Are the IP addresses yours?

    – Kusalananda
    Jan 17 at 16:20






  • 2





    You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

    – Doug O'Neal
    Jan 17 at 16:24






  • 2





    NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

    – ron
    Jan 17 at 16:41







  • 1





    Is flipping a coin, head or tails, totally out of question?

    – Rui F Ribeiro
    Jan 17 at 16:46













0












0








0








we need to check if the following remote ip's are linux OS or other as win



example



12.43.223.4
23.54.67.3
23.5.6.3


we have Linux machine - redhat , and from this machine we need to identify the remote machine if they are Linux or other ?



as I know we can identify by nmap



but I want to find other way since nmap not installed on production machines



so any suggestion how to check remote machine is Linux or other ? ( not by nmap )










share|improve this question
















we need to check if the following remote ip's are linux OS or other as win



example



12.43.223.4
23.54.67.3
23.5.6.3


we have Linux machine - redhat , and from this machine we need to identify the remote machine if they are Linux or other ?



as I know we can identify by nmap



but I want to find other way since nmap not installed on production machines



so any suggestion how to check remote machine is Linux or other ? ( not by nmap )







linux shell-script






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 17 at 15:55









Jeff Schaller

40.8k1056129




40.8k1056129










asked Jan 17 at 15:53









yaelyael

2,52812464




2,52812464




closed as too broad by Jeff Schaller, Rui F Ribeiro, Mr Shunz, andcoz, Wouter Verhelst Jan 18 at 16:31


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.









closed as too broad by Jeff Schaller, Rui F Ribeiro, Mr Shunz, andcoz, Wouter Verhelst Jan 18 at 16:31


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.









  • 1





    are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

    – Jeff Schaller
    Jan 17 at 15:56






  • 1





    Are the IP addresses yours?

    – Kusalananda
    Jan 17 at 16:20






  • 2





    You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

    – Doug O'Neal
    Jan 17 at 16:24






  • 2





    NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

    – ron
    Jan 17 at 16:41







  • 1





    Is flipping a coin, head or tails, totally out of question?

    – Rui F Ribeiro
    Jan 17 at 16:46












  • 1





    are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

    – Jeff Schaller
    Jan 17 at 15:56






  • 1





    Are the IP addresses yours?

    – Kusalananda
    Jan 17 at 16:20






  • 2





    You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

    – Doug O'Neal
    Jan 17 at 16:24






  • 2





    NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

    – ron
    Jan 17 at 16:41







  • 1





    Is flipping a coin, head or tails, totally out of question?

    – Rui F Ribeiro
    Jan 17 at 16:46







1




1





are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

– Jeff Schaller
Jan 17 at 15:56





are there any standards enforced at all? Do Windows systems have certain services running? Do Linux ones?

– Jeff Schaller
Jan 17 at 15:56




1




1





Are the IP addresses yours?

– Kusalananda
Jan 17 at 16:20





Are the IP addresses yours?

– Kusalananda
Jan 17 at 16:20




2




2





You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

– Doug O'Neal
Jan 17 at 16:24





You cannot identify by nmap. nmap can take a guess based on how the remote system responds to certain network traffic but this is a guess and it can be easily fooled.

– Doug O'Neal
Jan 17 at 16:24




2




2





NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

– ron
Jan 17 at 16:41






NMAP Operating System Detection, while a noble attempt, is fundamentally flawed by reality and simply how Internet protocol works. It's right there in their readme When Nmap Guesses Wrong.

– ron
Jan 17 at 16:41





1




1





Is flipping a coin, head or tails, totally out of question?

– Rui F Ribeiro
Jan 17 at 16:46





Is flipping a coin, head or tails, totally out of question?

– Rui F Ribeiro
Jan 17 at 16:46










2 Answers
2






active

oldest

votes


















0














for i in hostname1 hostname2; 
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk 'if($0 ~ /Linux/)print "Its Linux os"elseprint "its not linux os"'
EOF
done





share|improve this answer


















  • 1





    For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

    – Kusalananda
    Jan 17 at 16:32












  • So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

    – roaima
    Jan 17 at 20:14


















6














If I understand your question correctly, you are asking;




How can the operating system of a computer on a network be identified without logging in to it




It cannot.
Any computer system on a network, assuming that network is a typical IP (internet protocol) based on TCP/IP communicates based on that protocol. And if that is all you have to work with, then:



  • a computer on a network can be configured to be invisible first of all, such as not respond to ping among other things,

  • but if it does respond or some indication can be seen that there is this computer system on the network, how can you deduce if it is windows, Linux, macOS, Android, other? You can't: The IP/TCP protocol does not provide for that to happen.

I suppose if a system is somehow configured at a low enough level to include that kind of information in the TCP/IP header in each packet that gets sent out then maybe that can used to work with, but would be very custom. Otherwise there is no reliable I know of unless you can log in to that system. If you log in to a system via SSH protocol, well just the same because the SSH protocol is OS-independent, so if you see a computer system responding via SSH on port 22, any computer device with any operating system can do that as long as they follow the SSH protocol which then happens on top of the Internet Protocol.



This is of course is the reason why IP is so great, it allows communication between any device (regardless of operating system) as long as they follow the same internet protocol. An analogy would be I don't need to know if you are male, female, any other characteristic, as long as you follow the a given language protocol (English language in this case) then we can communicate at some level.



You may wish to read the IPV4 Wikipedia article, in addition to the history of the internet.






share|improve this answer




















  • 1





    nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

    – Doug O'Neal
    Jan 17 at 19:12






  • 1





    It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

    – Panther
    Jan 18 at 3:47

















2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














for i in hostname1 hostname2; 
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk 'if($0 ~ /Linux/)print "Its Linux os"elseprint "its not linux os"'
EOF
done





share|improve this answer


















  • 1





    For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

    – Kusalananda
    Jan 17 at 16:32












  • So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

    – roaima
    Jan 17 at 20:14















0














for i in hostname1 hostname2; 
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk 'if($0 ~ /Linux/)print "Its Linux os"elseprint "its not linux os"'
EOF
done





share|improve this answer


















  • 1





    For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

    – Kusalananda
    Jan 17 at 16:32












  • So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

    – roaima
    Jan 17 at 20:14













0












0








0







for i in hostname1 hostname2; 
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk 'if($0 ~ /Linux/)print "Its Linux os"elseprint "its not linux os"'
EOF
done





share|improve this answer













for i in hostname1 hostname2; 
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk 'if($0 ~ /Linux/)print "Its Linux os"elseprint "its not linux os"'
EOF
done






share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 17 at 16:28









Praveen Kumar BSPraveen Kumar BS

1,454138




1,454138







  • 1





    For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

    – Kusalananda
    Jan 17 at 16:32












  • So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

    – roaima
    Jan 17 at 20:14












  • 1





    For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

    – Kusalananda
    Jan 17 at 16:32












  • So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

    – roaima
    Jan 17 at 20:14







1




1





For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

– Kusalananda
Jan 17 at 16:32






For all that you know, it may be a router between you and the given IP address that answers on port 22 (if anything answers at all). It may not be any of the machines hostname1 or hostname2.

– Kusalananda
Jan 17 at 16:32














So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

– roaima
Jan 17 at 20:14





So if hostname2 is Windows and it's (reasonably enough) not running an SSH service you'll report nothing but an error about not being able to connect.

– roaima
Jan 17 at 20:14













6














If I understand your question correctly, you are asking;




How can the operating system of a computer on a network be identified without logging in to it




It cannot.
Any computer system on a network, assuming that network is a typical IP (internet protocol) based on TCP/IP communicates based on that protocol. And if that is all you have to work with, then:



  • a computer on a network can be configured to be invisible first of all, such as not respond to ping among other things,

  • but if it does respond or some indication can be seen that there is this computer system on the network, how can you deduce if it is windows, Linux, macOS, Android, other? You can't: The IP/TCP protocol does not provide for that to happen.

I suppose if a system is somehow configured at a low enough level to include that kind of information in the TCP/IP header in each packet that gets sent out then maybe that can used to work with, but would be very custom. Otherwise there is no reliable I know of unless you can log in to that system. If you log in to a system via SSH protocol, well just the same because the SSH protocol is OS-independent, so if you see a computer system responding via SSH on port 22, any computer device with any operating system can do that as long as they follow the SSH protocol which then happens on top of the Internet Protocol.



This is of course is the reason why IP is so great, it allows communication between any device (regardless of operating system) as long as they follow the same internet protocol. An analogy would be I don't need to know if you are male, female, any other characteristic, as long as you follow the a given language protocol (English language in this case) then we can communicate at some level.



You may wish to read the IPV4 Wikipedia article, in addition to the history of the internet.






share|improve this answer




















  • 1





    nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

    – Doug O'Neal
    Jan 17 at 19:12






  • 1





    It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

    – Panther
    Jan 18 at 3:47















6














If I understand your question correctly, you are asking;




How can the operating system of a computer on a network be identified without logging in to it




It cannot.
Any computer system on a network, assuming that network is a typical IP (internet protocol) based on TCP/IP communicates based on that protocol. And if that is all you have to work with, then:



  • a computer on a network can be configured to be invisible first of all, such as not respond to ping among other things,

  • but if it does respond or some indication can be seen that there is this computer system on the network, how can you deduce if it is windows, Linux, macOS, Android, other? You can't: The IP/TCP protocol does not provide for that to happen.

I suppose if a system is somehow configured at a low enough level to include that kind of information in the TCP/IP header in each packet that gets sent out then maybe that can used to work with, but would be very custom. Otherwise there is no reliable I know of unless you can log in to that system. If you log in to a system via SSH protocol, well just the same because the SSH protocol is OS-independent, so if you see a computer system responding via SSH on port 22, any computer device with any operating system can do that as long as they follow the SSH protocol which then happens on top of the Internet Protocol.



This is of course is the reason why IP is so great, it allows communication between any device (regardless of operating system) as long as they follow the same internet protocol. An analogy would be I don't need to know if you are male, female, any other characteristic, as long as you follow the a given language protocol (English language in this case) then we can communicate at some level.



You may wish to read the IPV4 Wikipedia article, in addition to the history of the internet.






share|improve this answer




















  • 1





    nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

    – Doug O'Neal
    Jan 17 at 19:12






  • 1





    It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

    – Panther
    Jan 18 at 3:47













6












6








6







If I understand your question correctly, you are asking;




How can the operating system of a computer on a network be identified without logging in to it




It cannot.
Any computer system on a network, assuming that network is a typical IP (internet protocol) based on TCP/IP communicates based on that protocol. And if that is all you have to work with, then:



  • a computer on a network can be configured to be invisible first of all, such as not respond to ping among other things,

  • but if it does respond or some indication can be seen that there is this computer system on the network, how can you deduce if it is windows, Linux, macOS, Android, other? You can't: The IP/TCP protocol does not provide for that to happen.

I suppose if a system is somehow configured at a low enough level to include that kind of information in the TCP/IP header in each packet that gets sent out then maybe that can used to work with, but would be very custom. Otherwise there is no reliable I know of unless you can log in to that system. If you log in to a system via SSH protocol, well just the same because the SSH protocol is OS-independent, so if you see a computer system responding via SSH on port 22, any computer device with any operating system can do that as long as they follow the SSH protocol which then happens on top of the Internet Protocol.



This is of course is the reason why IP is so great, it allows communication between any device (regardless of operating system) as long as they follow the same internet protocol. An analogy would be I don't need to know if you are male, female, any other characteristic, as long as you follow the a given language protocol (English language in this case) then we can communicate at some level.



You may wish to read the IPV4 Wikipedia article, in addition to the history of the internet.






share|improve this answer















If I understand your question correctly, you are asking;




How can the operating system of a computer on a network be identified without logging in to it




It cannot.
Any computer system on a network, assuming that network is a typical IP (internet protocol) based on TCP/IP communicates based on that protocol. And if that is all you have to work with, then:



  • a computer on a network can be configured to be invisible first of all, such as not respond to ping among other things,

  • but if it does respond or some indication can be seen that there is this computer system on the network, how can you deduce if it is windows, Linux, macOS, Android, other? You can't: The IP/TCP protocol does not provide for that to happen.

I suppose if a system is somehow configured at a low enough level to include that kind of information in the TCP/IP header in each packet that gets sent out then maybe that can used to work with, but would be very custom. Otherwise there is no reliable I know of unless you can log in to that system. If you log in to a system via SSH protocol, well just the same because the SSH protocol is OS-independent, so if you see a computer system responding via SSH on port 22, any computer device with any operating system can do that as long as they follow the SSH protocol which then happens on top of the Internet Protocol.



This is of course is the reason why IP is so great, it allows communication between any device (regardless of operating system) as long as they follow the same internet protocol. An analogy would be I don't need to know if you are male, female, any other characteristic, as long as you follow the a given language protocol (English language in this case) then we can communicate at some level.



You may wish to read the IPV4 Wikipedia article, in addition to the history of the internet.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 17 at 19:54









Fabby

3,87811329




3,87811329










answered Jan 17 at 16:22









ronron

9961814




9961814







  • 1





    nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

    – Doug O'Neal
    Jan 17 at 19:12






  • 1





    It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

    – Panther
    Jan 18 at 3:47












  • 1





    nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

    – Doug O'Neal
    Jan 17 at 19:12






  • 1





    It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

    – Panther
    Jan 18 at 3:47







1




1





nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

– Doug O'Neal
Jan 17 at 19:12





nmap tries to identify the OS of remote systems. It often fails so I take exception to the 'can and does' identify OSes.

– Doug O'Neal
Jan 17 at 19:12




1




1





It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

– Panther
Jan 18 at 3:47





It is trivial to spoof nmap, although it is somewhat reliable with unhardened OS

– Panther
Jan 18 at 3:47


Popular posts from this blog

How to check contact read email or not when send email to Individual?

Bahrain

Postfix configuration issue with fips on centos 7; mailgun relay