关于Noisy
Noisy是一款功能强大的DNS和HTTP/S网络流量噪音生成工具,该工具基于Python开发,可以帮助广大研究人员在进行常规网络浏览时,在后台生成随机的HTTP/DNS网络流量噪声,并以此来提升网络通信数据的安全性和隐蔽性。
支持的平台
macOS
Ubuntu
Raspbian Stretch
支持的环境
Python 2.7
Python 3.6
工具依赖组件
该工具的正常运行需要使用到requests库,我们可以直接使用pip工具安装:
pip install requests
工具下载
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/1tayH/noisy.git
切换到项目目录中,使用pip工具项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd noisy pip install -r requirements.txt
使用Docker构建
构建工具镜像:
docker build -t noisy .
或者,如果你使用的是Raspberry Pi(运行Raspbian stretch),可以运行下列命令构建镜像:
docker build -f Dockerfile.pi -t noisy .
创建并运行容器:
docker run -it noisy --config config.json
工具使用
我们可以直接使用下列命令运行工具脚本:
python noisy.py --config config.json
下列命令可以查看Noisy脚本的帮助信息:
$ python noisy.py --help usage: noisy.py [-h] [--log -l] --config -c [--timeout -t] optional arguments: -h, --help 显示工具帮助信息和退出 --log -l 日志记录等级 --config -c 配置文件路径 --timeout -t 设置爬虫的运行超时时间,单位为秒数
其中,只有配置文件参数是必须提供的,其他都属于可选项。
工具输出
$ docker run -it noisy --config config.json --log debug DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 4chan.org:80 DEBUG:urllib3.connectionpool:http://4chan.org:80 "GET / HTTP/1.1" 301 None DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): www.4chan.org:80 DEBUG:urllib3.connectionpool:http://www.4chan.org:80 "GET / HTTP/1.1" 200 None DEBUG:root:found 92 links INFO:root:Visiting http://boards.4chan.org/s4s/ DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): boards.4chan.org:80 DEBUG:urllib3.connectionpool:http://boards.4chan.org:80 "GET /s4s/ HTTP/1.1" 200 None INFO:root:Visiting http://boards.4chan.org/s4s/thread/6850193#p6850345 DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): boards.4chan.org:80 DEBUG:urllib3.connectionpool:http://boards.4chan.org:80 "GET /s4s/thread/6850193 HTTP/1.1" 200 None INFO:root:Visiting http://boards.4chan.org/o/ DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): boards.4chan.org:80 DEBUG:urllib3.connectionpool:http://boards.4chan.org:80 "GET /o/ HTTP/1.1" 200 None DEBUG:root:Hit a dead end, moving to the next root URL DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): www.reddit.com:443 DEBUG:urllib3.connectionpool:https://www.reddit.com:443 "GET / HTTP/1.1" 200 None DEBUG:root:found 237 links INFO:root:Visiting https://www.reddit.com/user/Saditon DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): www.reddit.com:443 DEBUG:urllib3.connectionpool:https://www.reddit.com:443 "GET /user/Saditon HTTP/1.1" 200 None ...
使用docker-compose运行多个容器
我们可以使用docker-compose同时运行多个容器,并生成更多的噪声:
$ cd noisy/examples/docker-compose $ docker-compose build $ docker-compose up --scale noisy=<number-of-containers>
通过systemd设置Noisy自动运行
我们还可以使用systemd在每一次设备启动时自动运行noisy.py脚本,下列命令用于配置服务:
$ sudo cp examples/systemd/noisy.service /etc/systemd/system $ sudo systemctl daemon-reload $ sudo systemctl enable noisy && sudo systemctl start noisy
我们还可以使用下列命令来查看脚本输出:
$ journalctl -f -n noisy
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
Noisy:【GitHub传送门】
参考资料
http://www.randomnoise.us/
GitHub - ReconInfoSec/web-traffic-generator: A quick and dirty HTTP/S "organic" traffic generator.