使用正则表达式过滤器搜索http服务器的网络
httpfind的Python项目详细描述
Search network for HTTP servers using a regular expression filter.
使用httpfind获取 网络对用户指定页的http请求并行发送。 将响应与用户指定的正则表达式进行比较 模式。合格结果将作为列表返回。模块很容易 进口用于其他项目,还包括 命令行界面。
安装
pip install httpfind
示例
基本导入示例
importhttpfindresult=httpfind.survey(network='192.168.0.0/24',pattern='(A|a)ccess (P|p)oint',path='login.php',log=False)# Results printed as full URLsprint(result)# Results printed as IP addressesprint([x.hostnameforxinresult])
收益率
['http://192.168.0.190/login.php', 'http://192.168.0.191/login.php', 'http://192.168.0.192/login.php']['192.168.0.190', '192.168.0.191', '192.168.0.192']
命令行示例
$> httpfind -h usage: httpfind [-h][-p PATH][-f PATTERN][-l] network Search 'network'for hosts with a response to 'path' that matches 'filter' positional arguments: network IP address with optional mask, e.g. 192.168.0.0/24 optional arguments: -h, --help show this help message and exit -p PATH, --path PATH URL path at host, e.g. index.html -f PATTERN, --filter PATTERN Regular expression pattern for filter -l, --log Enable logging $> httpfind 192.168.0.0/24 -f "Access Point" -p login.php Scanning, please wait ... Found 3 matches for Access Point on 192.168.0.0/24 192.168.0.190 192.168.0.191 192.168.0.192
参数
def survey(network=None, path='',pattern='', log=False):
- network-与ipaddress library兼容的IP地址和子网掩码
- path-由定义的url的path部分 url(un)split
- pattern-与 re.compile
- log-用于控制日志记录级别的布尔值
因此,可以在任一子网掩码中定义网络 (x.x.x.x/255.255.255.0)或CIDR符号(x.x.x.x.x/24)。现在, httpfind只扫描最多256个地址的网络,如大多数 这些例子。当然,单个IP地址可以由 x.x.x.x或x.x.x.x/32。
正则表达式有很多资源,例如 introduction提供 由python软件基金会提供。对于简单的情况,使用 默认或“”将匹配任何页面,而“access”等词将 如果在返回的HTML中找到,则匹配,前提是它的大小写相同。
性能
因为discoverhue利用了 aiohttp包,请求 同时发送而不是重复发送。更准确地说, 请求以2.5秒的间隔随机发送,以避免尖峰 交通。超时设置为5.0s,因此典型的执行时间约为 8.0秒。
状态
释放。