ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have programmed for over 20 years, but always in Windows. Recently our company has been adding some Linux, Macintosh, and other Unix type PCs to the network. I have a scanner that I use to inventory and track all the PCs on the network. It can of course detect and report the different Windows versions across the network. But I need a way to tell if the remote PC is a PC running a non-Windows OS. I can't just assume if it is not windows, then it is a non-windows PC, because we have hundreds of other network type devices too. (printers, routers, switches, pbxs, etc) So right now, it is not tracking any of the Linux or Macintosh PCs that I know are there.
Does Linux/Macintosh/Unix have any unique open TCP/IP ports that I can use to detect it across a network that are specific to Unix? Or maybe a unique sharename, or...? Or a way to query a response from them that they would respond to?
I would like to be able to tell between Linux, Macintosh, Unix, Sun, etc. But even if I can just tell if it is a Unix based OS, that would help. If not, how can I tell it is a PC and not something like a printer, etc.
Note: This would not be across the internet, I only need to test the devices on my own LAN/WAN.
nmap does appear to show the OS of most remote PCs which is encouraging. But I forgot to mention the scanner is running from a Windows server.(which will not have nmap) It needs to be able to detect Linux/Unix across the network. Wouldn't happen to know what TCP/IP or Netbios query or packet the nmap command is using, would you?
What level of control do you have over these PCs? My suggestion (to make things easier) would be to have any (and all) Linux/UNIX boxes install Samba, and configure it so the PC name contains a significant letter of some sort; say the last letter of the PC name being an "L" for Linux, "U" for UNIX, "M" for Mac.
I am in a position that I can suggest a naming standard for them. However with 60,000+ PCs, and they are scattered all over the US, it is nearly impossible to get everyone to conform to standards. So it would be nice to be able to find them regardless of what our remote field tech did.
I know that they will not have Microsoft file sharing or be able to remote connect on the registry like Windows does. So I can tell they are non-Windows from that. But how can I tell if they are a PC at all and not one of the 1000s of other network type devices like printers, routers, etc.
I have been playing with Slackware on one of my PCs at home for several months and love it so far. But the most I have done across the network with it is use Firefox to browse the internet. What kind of things can be done to remote Linux PCs across the network? For example do they have something like windows admin shares that I can test for? Or remote desktop? (something that will be on them by default so that I dont have to rely on them loading a client)
If you set up something like XDMCP you can log in (graphically) across a network.
SSH (Secure SHell) - text-based administration, and is frighteningly useful. I use this almost exclusively for administrative work on any network I monitor. This is the "de facto" of network-based administration in the UNIX world.
There are graphical remote desktop applications, but I believe they're usually tied into the desktop environment. I'm 99% certain KDE has a remote desktop sharing application of some sort.