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: # ...