-
Notifications
You must be signed in to change notification settings - Fork 1
环境配置
Watch_Dogs-Client 主要依赖两个Python运行库, Tornado 和 Flask.
并有一个可选的进程网络检测环境, nethogs. 安装之后即可提供进程的网络占用情况监测功能
Watch_Dogs-Client 仅支持 Python2 环境. (开发所用版本为Python 2.7.15+)
如果你的当前Python环境支持PIP, 推荐使用 pip install -r requirements.txt
命令一键安装所需基础环境
Tornado 是一个Python编写的Web框架及异步IO框架
Tornado 在 Watch_Dogs-Client 中的作为Flask的容器来给系统提供一个长期稳定的服务能力
pip install tornado
Flask 是一个Python编写的非常简洁的Web开发框架
Watch_Dogs-Client 中的API服务功能是基于 Flask 进行开发的
pip install flask
nethogs (可选)
nethogs 是一个类似于 TOP 命令的, 用于检测Linux进程网络占用情况的工具
nethogs 的安装并非必选项, Watch_Dogs-Client 中的进程网络检测功能是基于 Nethogs实现的
安装 nethogs 的过程可见 官方文档
下面以Ubuntu为例简单说明一下安装步骤
-
运行库安装 在终端中执行
apt-get install build-essential libncurses5-dev libpcap-dev
-
获取源码 在你希望安装nethogs的路径下从git克隆最新的源码
git clone https://github.com/raboof/nethogs
-
编译源码 在当前目录下继续执行
make
sudo ./src/nethogs
即可完成nethogs环境的安装, 若想在终端中使用nethogs
命令, 后续步骤可继续阅读上面的官方文档
因为nethogs需要读取/proc文件系统中一些有关socket链接的文件.
所以需要一定的系统文件读取权限(默认情况下不能读取)
为了Watch_Dogs-Client的正常运行, 请通过setcap
命令赋予Python解析器所需要的最小权限
赋权方式如下, 以root
身份进入Python解释器的路径
(一般为/usr/bin
, 若不确定可以用 whereis python
命令来获取您当前环境下Python解释器路径)
执行如下命令即可完成授权
sudo setcap cap_kill,cap_net_raw,cap_dac_read_search,cap_sys_ptrace+ep ./python2.7
当然, 这一步和nethogs一样是可选项而非必选
为了系统稳定性考虑, 基于nethogs的进程网络监测功能默认为关闭
若想开启则需要修改,系统目录下的setting.json
文件, 将其中
{
"comment": "Watch_Dogs-Client 配置文件",
"author": "h-j-13",
"last-update time": "2019-02-22",
"allowed_request_addr": [
"0.0.0.0"
],
"port": 8000,
"net_monitor": false
}
net_monitor 这一个设置改为 true
后,并重启系统
如果有任何问题, 请联系邮箱 h.j.13.new@gmail.com