This library aims to quickly write client bots for communicating with remote hosts in a standardized way using context managers. It implements a few bots for some common protocols (HTTP, JSON, IRC, ...) and for communicating with specific applications (Shodan, Censys, HaveIBeenPwned?, RootMe, RingZer0, ...).
pip install pybots
Each bot class is implemented as a context manager and has a logger attached. It can thus be instantiated in a clear and straightforward way. Here is an example:
from pybots import TCPBot
with TCPBot("remote_host", 1234) as bot:
data = bot.send_receive("Hello!")
# do something with data
Note that, if a bot is used behind a proxy, it will use system's proxy settings. This can be bypassed by using no_proxy=True
while instantiating the bot.
with TCPBot("LAN_host", 1234, no_proxy=True) as bot:
# ...
Real-Life Projects:
- Bots Scheduler (uses
ShodanBot
,HaveIBeenPwnedBot
,GhostProjectBot
and a few others)
CTF: