Detect the user-agent string that web servers and client codes see when you are visiting a website. Usually, this string is used by the website owner to facilitate the end user experience, however, it can also be used to identify the user.
This website uses a few innovative techniques to aggressively detect the real user-agent that your browser exposes. Simply choose a desired technique from the "Method" dropdown list and see the corresponding user-agent string in the table below. The results are rendered with three different user-agent string parser libraries (in separate tabs). Please click on the desired tab to see the detailed of the user-agent string. Also note that, if you are using a user-agent spoofing extension, our different detection mechanisms will try to bypass the spoofing and reveal the real user-agent string.
- [normal] navigator.userAgent: This method reads the navigator object when the page load is finished. This is the most common method to detect the user's actual user-agent string.
- [aggressive] navigator.userAgent: This method clones the "navigator" object exactly when page is about to render to prevent any external scripts from altering it later. It is pretty hard to bypass this method as the spoofer does not have enough time to asynchronously get the faked user-agent string at this point.
- [aggressive] navigator.appVersion: This method uses the "appVersion" property and converts it to the actual user-agent string in Chromium-based browsers. Since Firefox does not support this method, it is not available for this browser.
- [aggressive] UA Header: This method observes the request headers that are sent from your browser and reads the "user-agent" header of a request. Normally web pages do not have access to this information, however, by registering a service worker, it is possible to monitor outgoing traffic from a web page.
- [aggressive] iframe navigator.userAgent: Same as method 2, however, uses a newly created sandboxed iframe to prevent any script from being able to manipulate the "navigator" object.
- [aggressive] iframe navigator.appVersion: Same as method 5, instead uses the <code>appVersion</code> property.
API Reference:You can use the following URL arguments to customize how the page is shown. Note this this page locally persists the last used method and the last visited tab locally for later use.
- method: Could be one of "ug", "ua", "av", "uah", "fua", "fav" values which indicates the default method that is used to detect the user-agent string.
- tab: Could be one of "navigator", "ua_praser", "platform_js" which indicates the default rendering engine that is used to display the results.
- verbose: Could be one of "true" or "false" values which indicates whether the page uses all methods or just the active one. If all methods are used and if there is an inconsistency in the results, then the user will be warned.
Technical notes about UserAgent
Browsers are the basic internet need which require loads of security policies, server agreements, and connectivity codes to run ideally. Among these, there is one element that is important, yet people are not aware of; this is the browser’s UserAgent. In general, browsers first send their user-agent to every website you want to make a connection with. User agents are the strings of text which specify the browser and operating system of web servers. User agents are present in HTTP headers when the browser wants to communicate with a server. Each browser has its specific user agent string and web servers utilize this information to deliver appropriate material across different operating systems.
User agents are used diversely for different purposes among which, some are as follows.
- a. One of the uses of a browser’s user agent is making different webpages available across various web browsers. This is quite beneficial because it serves the simplest web pages to the old browsers. For instance, you might face the message -Open this with Internet Explorer.
- b. Display various contents to different operating systems. An example of this is the mobile version of webpages in devices; usually slimmed down and organized vertically for user ease.
- c. Browser’s user agents contribute to gathering the statistics that display how the operating system and browsers are being used. Most browser market-share statistics are obtained through the same method.
- d. User agents are also used by the web-crawling bots. Web servers provide the bots with special treatments and verifications such as mandatory registrations, screens, etc. Web servers are also designed to give orders to either specified bots or all bots depending on their programming; by utilizing the robots.txt file. For instance, we look at a web server requesting a specific bot to not enter and leave, or allow another bot to only access parts of the site. The bots are usually identified by their user-agent strings.
We know that NCSA Mosaic was one of the very first browsers introduced with internet facility. The user agent string that was associated along with it was Mosaic/2.0 which was later taken over by Mozilla whose user agent was Mozilla/1.0. Mozilla was considerably more advanced in terms of connectivity and security than Mosaic because of the ease of supported frames it provided. Web servers pitched in to observe Mozilla’s user agent and how it sent pages which consisted of frames across the Mozilla browsers. This was a remarkable advancement considering the other browsers made use of sending old pages without any frames at all. Next, we were introduced to Internet Explorer with supported frames. However, there was still no receiving end of webpages with frames, because they were just shared with Mozilla browsers.
Related Blog Posts
- Anti-Tracking Issues in Browsers: Third-party cookie policies of 7 major web browsers, 14 anti-tracking extensions, and 31 ad-blockers had been analyzed by a team of Belgian researchers from KU Leuven. They discovered the minor and major issues with all of them...
- Effectiveness of Fingerprinting Countermeasures: A common technique that is used by organizations and websites is fingerprinting. It is either done on its own or through a complementary method to identify and track internet users...