Skip to content

环境配置

HouJie edited this page May 30, 2019 · 4 revisions

Watch_Dogs-Client 环境配置

Watch_Dogs-Client 主要依赖两个Python运行库, Tornado 和 Flask.
并有一个可选的进程网络检测环境, nethogs. 安装之后即可提供进程的网络占用情况监测功能

Python

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安装

pip install tornado

Flask 是一个Python编写的非常简洁的Web开发框架
Watch_Dogs-Client 中的API服务功能是基于 Flask 进行开发的

使用pip安装

pip install flask

nethogs (可选)

nethogs 是一个类似于 TOP 命令的, 用于检测Linux进程网络占用情况的工具
nethogs 的安装并非必选项, Watch_Dogs-Client 中的进程网络检测功能是基于 Nethogs实现的

安装nethogs环境

安装 nethogs 的过程可见 官方文档

下面以Ubuntu为例简单说明一下安装步骤

  1. 运行库安装 在终端中执行
    apt-get install build-essential libncurses5-dev libpcap-dev

  2. 获取源码 在你希望安装nethogs的路径下从git克隆最新的源码
    git clone https://github.com/raboof/nethogs

  3. 编译源码 在当前目录下继续执行

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 后,并重启系统