CitrixPot: NetScaler / Citrix ADC Gateway honeypot (initial public release)

This commit is contained in:
CitrixPot committed 2026-09-28 19:44:37 +02:00
commit 4491b42714
54 files changed
+4532

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""Resolve this host's public IP so the viewer can hide operator traffic.
Loopback/private addresses are ignored. Use `--loop --interval 1800` to run it as a
30-minute refresher; the viewer imports discover() directly and refreshes itself.
"""
import argparse
import ipaddress
import time
import urllib.request
ENDPOINTS = ('https://api.ipify.org', 'https://ifconfig.me/ip',
'https://icanhazip.com', 'https://1.1.1.1/cdn-cgi/trace')
def discover(timeout=6):
for url in ENDPOINTS:
try:
with urllib.request.urlopen(url, timeout=timeout) as response:
text = response.read(256).decode('utf-8', 'replace')
except (OSError, ValueError):
continue
for token in text.replace('ip=', ' ').split():
try:
ip = ipaddress.ip_address(token.strip())
except ValueError:
continue
if ip.is_global:
return str(ip)
return None
if __name__ == '__main__':
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--loop', action='store_true', help='keep refreshing')
parser.add_argument('--interval', type=int, default=1800)
args = parser.parse_args()
while True:
print(discover() or '', flush=True)
if not args.loop:
break
time.sleep(args.interval)