From 1b3fb6b722c40531f72c893e14c6e15b137df450 Mon Sep 17 00:00:00 2001 From: acidvegas Date: Thu, 23 Nov 2023 04:33:52 -0500 Subject: [PATCH] Coloring added --- .screens/preview.png | Bin 0 -> 75694 bytes README.md | 6 +++--- ptrstream.py | 26 +++++++++++++++++++++----- 3 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 .screens/preview.png diff --git a/.screens/preview.png b/.screens/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..9101904871c21d51ab1b859a9b5d63fc2179dd60 GIT binary patch literal 75694 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

_n_y^kxxA_yCx7yZg=t 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

Nzr7o*g?8X>N)H~%gmWpLB@S?;p-;F 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 aWTpT#{)wGk5?-VLU_se9S~pmt3I76j&qg5t literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 104ac37..f58f5ff 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ PTRStream is an asynchronous reverse DNS lookup tool developed in Python. It generates random IP addresses and performs reverse DNS lookups using various DNS servers. +![](.screens/preview.png) + ## Requirements - [python](https://www.python.org/) - [aiodns](https://pypi.org/project/aiodns/) *(pip install aiodns)* @@ -21,8 +23,6 @@ python ptrstream.py [options] ## Now what? The results are cached and saved to a file named ptr_{date}_{seed}.txt after every 1000 successful lookups. After a full loop through every IP address, a new seed will generate and start the scan again. -Might add coloring based on classification *(government, data cetner, etc)* - Output to elastic search possibly. -Still a work in progress I guess... \ No newline at end of file +Still a work in progress I guess... diff --git a/ptrstream.py b/ptrstream.py index abf8639..4f6a8d5 100644 --- a/ptrstream.py +++ b/ptrstream.py @@ -87,12 +87,28 @@ async def main(): for task in done: ip, result = task.result() if result: - for exclude in ('undefined.hostname.localhost', 'localhost', '127.0.0.1'): - if result == exclude: - continue - print(f'\033[96m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') + if result in ('127.0.0.1','localhost'): + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m-> {result}\033[0m') + elif ip in result: + result = result.replace(ip, f'\033[96m{ip}\033[93m') + elif (daship := ip.replace('.', '-')) in result: + result = result.replace(daship, f'\033[96m{daship}\033[93m') + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') + elif (revip := '.'.join(ip.split('.')[::-1])) in result: + result = result.replace(revip, f'\033[96m{revip}\033[93m') + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') + elif result.endswith('.gov') or result.endswith('.mil'): + result = result.replace('.gov', f'\033[31m.gov\033[0m') + result = result.replace('.mil', f'\033[31m.gov\033[0m') + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') + elif '.gov.' in result or '.mil.' in result: + result = result.replace('.gov.', f'\033[31m.gov.\033[0m') + result = result.replace('.mil.', f'\033[31m.mil.\033[0m') + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') + else: + scary = ('.gov') + print(f'\033[35m{ip.ljust(15)}\033[0m \033[90m->\033[0m \033[93m{result}\033[0m') results_cache.append(f'{ip}:{result}') - if len(results_cache) >= 1000: stamp = time.strftime('%Y%m%d') with open(f'ptr_{stamp}_{seed}.txt', 'a') as file: