-1

Is there anyway except to find the real OS name of the user?

I need to know if my client are changing their OS name in user-agent header.

Amin Shojaei
  • 5,451
  • 2
  • 38
  • 46

2 Answers2

1

No.

Think of the problem this way. There are two remote parties communicating with each other over a single channel. One party sends a message "My name is Peter". Now there is no way the other party to verify the truthfulness of this information unless another authoritarian service which is capable of verifying the details of the parties via an external means is making it mandatory for the first two parties to register themselves.

Unfortunately the Internet protocols are designed to operate in the client-server realm. This means there are no mandatory authoritarian parties which regulate any given communication happening between two individual parties.

The only savior of information verification is cryptography. There two it cannot be applied to all sorts of verifications. Cryptography can be used to overcome problems such as Two Generals Paradox - that is to verify the information received from one party is not intercepted and modified during the course of communication. But there is no feasible solution in the current Internet protocol design to verify information as fundamental as those originated from a source which is not in a domain where the destination has any control over.

Charlie
  • 22,886
  • 11
  • 59
  • 90
1

If the client runs Javascript, and you're willing to live with somewhat unreliable results, you can detect their browser's features to make a fairly well-informed guess, and in some cases infer the OS (e.g. if you detect IE or Edge, there's a good chance they're running Windows). However, it's still subject to being spoofed.

kmoser
  • 8,780
  • 3
  • 24
  • 40