Skip to content

Commit 3bcee08

Browse files
committed
Updates to Readme
1 parent 2522770 commit 3bcee08

2 files changed

Lines changed: 106 additions & 51 deletions

File tree

README.md

Lines changed: 106 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,37 @@
22
<img src="images/user-agent-dict-logo.png" alt="User Agent Dictionary Logo">
33
</p>
44

5-
![GitHub release (latest by date)](https://img.shields.io/github/v/release/Add3r/UserAgent-Parser) [![Awesome](https://img.shields.io/badge/Awesome-%F0%9F%98%8E-blueviolet.svg)](https://shields.io/) ![Made with Love](https://img.shields.io/badge/Made%20with-%E2%9D%A4-red.svg) ![Repository Views](https://komarev.com/ghpvc/?username=Add3r&label=Repository+Views) ![Release Downloads](https://img.shields.io/github/test/Add3r/UserAgent-Parser/releases/tag/V1.0.0/total.svg) ![Python](https://img.shields.io/badge/Python-3.11.5-blue.svg)
5+
![GitHub release (latest by date)](https://img.shields.io/github/v/release/Add3r/UserAgent-Parser) [![Awesome](https://img.shields.io/badge/Awesome-%F0%9F%98%8E-blueviolet.svg)](https://shields.io/) ![Made with Love](https://img.shields.io/badge/Made%20with-%E2%9D%A4-red.svg) ![Repository Views](https://komarev.com/ghpvc/?username=Add3r&label=Repository+Views) ![Python](https://img.shields.io/badge/Python-3.11.5-blue.svg) <!--![Release Downloads](https://img.shields.io/github/downloads/Add3r/UserAgent-Parser/releases/tag/V1.0.0/total.svg)-->
66

7-
![Dictionary Download](https://img.shields.io/github/downloads/Add3r/UserAgent-Parser/blob/main/user_agents.json/total.svg) ![Total User-Agents Archived](https://img.shields.io/badge/Total%20User--Agents%20Archived-11256-blue.svg) ![Mobile User-Agents](https://img.shields.io/badge/Mobile%20User--Agents-629-green.svg) ![General User-Agents](https://img.shields.io/badge/General%20User--Agents-10627-green.svg)
7+
<!--![Dictionary Download](https://img.shields.io/github/downloads/Add3r/UserAgent-Parser/blob/main/user_agents.json/total.svg)-->
8+
![Total User-Agents Archived](https://img.shields.io/badge/Total%20User--Agents%20Archived-11256-blue.svg) ![Mobile User-Agents](https://img.shields.io/badge/Mobile%20User--Agents-629-orange.svg) ![General User-Agents](https://img.shields.io/badge/General%20User--Agents-10627-green.svg)
89

910

10-
# UserAgent-Dictionary
11+
# UserAgent Fuzzing-Library
1112

12-
This repository holds data for the Proxy_Bypass vulnerability research tool with the `user-agents.json` file generated from the `User-Agent-Parser.py` script within this repository. Additionally, the `ua-stats.py` script is used to draw various statistics out of the `user-agents.json` file.
13+
This repository holds data of all the user agents in the `user_agents.json` file, which can be used directly with any tool that can parse json format.
1314

14-
## Overview
15+
download the repo to update the user-agent data by running `User-Agent-Dict.py` and edit the file per the fields you would like to add or remove.
16+
17+
Major intention for creating this dictionary of useragents was to feed it to Proxy_Bypass vulnerability research tool(under development in private repo) to use the `user-agents.json` file as input for fuzzing proxies.
1518

16-
The User Agent Data Scraper is designed to:
19+
As a PoC have provided the `ua-stats.py` script which draw various statistics out of the `user-agents.json` file as input
20+
21+
## Overview
1722

1823
🎯 **Primary:**
19-
- Scrape user agent data from [useragentstring.com](https://www.useragentstring.com/pages/All/)
20-
- Create a dictionary of user agents to be used by the proxy-bypass vulnerability research tool
21-
- Organize the data into dictionaries.
24+
- The User Agent Dict python script is designed to scrape from [useragentstring.com](https://www.useragentstring.com/pages/All/)
25+
- To use as Fuzzing library of user-agents used for vulnerability research tools
26+
- Organize the data into dictionaries, for faster access (mimicing hashmaps)
2227

2328
🚀 **Secondary:**
2429
- Identify user agent groups based on specified conditions.
30+
- High used vs low used user-agents to choose for fuzzing
2531
- Display statistics about general and mobile user agents.
2632
- Provide options for data visualization using pie charts, word clouds, and more.
2733

28-
## Features
29-
30-
🌟 **Scrapes User Agent Data:**
31-
Scrapes user agent data from a URL and stores it in dictionaries.
32-
33-
🔍 **Filters and Organizes:**
34-
Filters and organizes user agents based on conditions.
35-
36-
📊 **Provides Statistics:**
37-
Provides statistics about general and mobile user agents.
38-
39-
📈 **Data Visualization:**
40-
Offers options for data visualization, including:
41-
- Pie charts for user agent groups.
42-
- Word clouds for user agent group names.
43-
44-
💾 **Save Charts and Data:**
45-
Allows users to save generated charts and data to a local directory.
46-
47-
🎈 **Easy-to-Use Interface:**
48-
An easy-to-use command-line interface.
49-
5034
## How to Use
5135

52-
[![Watch the video](video_thumbnail.png)](video_link)
53-
5436
1. **Installation:**
5537
Clone this repository to your local machine.
5638

@@ -65,40 +47,113 @@ An easy-to-use command-line interface.
6547
Open a terminal and navigate to the project directory. Run the script using the following command:
6648

6749
```bash
68-
python User-Agent-Dict.py
50+
python3 User-Agent-Dict.py
6951
```
7052

71-
Follows the Prompts: The script will prompt you to interactively choose from various options, such as viewing pie charts, generating word clouds, and more.
53+
## Sample Output
54+
55+
***If you would like to print on screen***
56+
```
57+
> python3 User-Agent-Dict.py
58+
Do you want to print the data on the screen? (yes/no): yes
59+
60+
[
61+
{
62+
"title": "ABrowse 0.6",
63+
"group": "ABrowse",
64+
"id": "ua-1",
65+
"user-agent": "Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)",
66+
"Host": "General"
67+
},
68+
.
69+
.
70+
.
71+
(output Truncated)
72+
.
73+
.
74+
{
75+
"title": "WDG_Validator 1.6.2",
76+
"group": "WDG_Validator",
77+
"id": "ua-11256",
78+
"user-agent": "WDG_Validator/1.6.2",
79+
"Host": "Mobile"
80+
}
81+
]
82+
```
83+
***If you would like to update the `user_agents.json` file***
84+
<pre>
85+
<code>
86+
Do you want to update the JSON file? (yes/no): yes
87+
<span style="color: green;">[+]</span> General User Agents: <span style="color: cyan;">10627</span>
88+
<span style="color: green;">[+]</span> Mobile User Agents: <span style="color: cyan;">629</span>
89+
<span style="color: green;">[+]</span> Total User Agents: <span style="color: cyan;">11256</span>
90+
<span style="color: green;">[+]</span> JSON file updated successfully.
91+
<span style="color: yellow;">[!]</span> No new user-agents found.
92+
</code>
93+
</pre>
94+
## Statistics
95+
96+
As a PoC, have added a basic statistics deriving script `ua-stats.py` that uses the `user_agents.json` as input file.
7297

73-
Data Visualization: The script generates various types of charts and visualizations to analyze user agent data.
98+
`ua-stats.py` script will prompt you to interactively choose from various options, such as viewing pie charts and generating word clouds from the `user_agents.json` data.
7499

75-
Saving Charts: Choose to save generated charts and data to a local directory.
100+
## How to Use `ua-stats.py`
101+
102+
1. **Run the Script:**
103+
Open a terminal and navigate to the project directory. Run the script using the following command:
104+
105+
```bash
106+
python3 ua-stats.py
107+
```
76108

77109
## Sample Output
78110

79-
Video Tutorial
80-
Watch the full tutorial on YouTube
111+
```
112+
> python3 ua-stats.py
113+
Select an option:
114+
1. Pie chart for Mobile User Agents (Count < 10)
115+
2. Pie chart for Mobile User Agents (10 <= Count < 500)
116+
3. Pie chart for General User Agents (10 <= Count < 50)
117+
4. Pie chart for General User Agents (50 <= Count < 500)
118+
5. Pie chart for General User Agents (Count >= 500)
119+
6. Word Cloud for Mobile User Agent Group Names
120+
7. Word Cloud for General User Agent Group Names
121+
8. Exit
122+
Enter your choice (1/2/3/4/5/6/7/8):
123+
```
81124

82-
## Statistics
125+
This is only a PoC to use of using the json file data, there could be more analysis you could think of with this data. 😀
126+
127+
**Few Samples Below**
83128

84129
**Mobile**
85130

86-
Highest Mobile User Agents
87-
![Highest Mobile User Agents](Charts/Highest%20Mobile%20User-agents.png)
131+
<p align="center">
132+
<strong>Highest Mobile User Agents</strong><br>
133+
<img src="Charts/Highest%20Mobile%20User-agents.png" alt="Highest Mobile User Agents">
134+
</p>
88135

89-
Mobile User Agents < 500
90-
![Mobile User Agents < 500](Charts/Mobile%20User-agents%20less%20than%20500.png)
136+
<p align="center">
137+
<strong>Mobile User Agents &lt; 500</strong><br>
138+
<img src="Charts/Mobile%20User-agents%20less%20than%20500.png" alt="Mobile User Agents < 500">
139+
</p>
91140

92-
***General***
141+
**General**
93142

94-
Highest General User Agents
95-
![Highest General User Agents](Charts/Highest%20General%20User-agents.png)
143+
<p align="center">
144+
<strong>Highest General User Agents</strong><br>
145+
<img src="Charts/Highest%20General%20User-agents.png" alt="Highest General User Agents">
146+
</p>
96147

97-
General User Agents > 500
98-
![General User Agents > 500](Charts/General%20User-agents%20greater%20than%20500.png)
148+
<p align="center">
149+
<strong>General User Agents &gt; 500</strong><br>
150+
<img src="Charts/General%20User-agents%20greater%20than%20500.png" alt="General User Agents > 500">
151+
</p>
99152

100-
General User Agents < 500
101-
![General User Agents < 500](Charts/General%20User-agents%20less%20than%20500.png)
153+
<p align="center">
154+
<strong>General User Agents &lt; 500</strong><br>
155+
<img src="Charts/General%20User-agents%20less%20than%20500.png" alt="General User Agents < 500">
156+
</p>
102157

103158
## Note
104159
The script may require an internet connection to retrieve data from the specified URL.

images/user-agent-dict-logo.png

545 Bytes
Loading

0 commit comments

Comments
 (0)