network process monitor是一个python api,用于监视进程通信量

netprocmon的Python项目详细描述


network process monitor使python开发人员可以很容易地监视进程的网络使用情况。

目前,它与ipv4一起工作,并在python 2.7上进行了测试。

Development site

网络进程监视器贡献者2019年在The GNU General Public License v3.0

安装

使用pip和:

安装
pip install netprocmon

或者,download a wheel or source archive from PyPI

基本

>>> import time
>>> from netprocmon import Monitor
>>> pid = 586
>>> with Monitor() as a:
...      a.add_pid(pid)
...      a.start()
...      while True:
...          time.sleep(5)
...          print [str(n) for n in a.get_count_by_pid(pid)]
...
['NetworkTraffic(interface=eth1, recv=2302, pid=586, send=6806)']
['NetworkTraffic(interface=eth1, recv=2832, pid=586, send=9104)']
['NetworkTraffic(interface=eth1, recv=3548, pid=586, send=10742)', 'NetworkTraffic(interface=eth2, recv=0, pid=586, send=121)']

监听地址/接口

通过提供接口地址来限制对接口的侦听

>>> import time
>>> from netprocmon import Monitor
>>> pid = 586
>>> with Monitor() as a:
...      a.add_pid(pid)
...      a.add_address("10.0.0.21")
...      a.start()
...      while True:
...          time.sleep(5)
...          print [str(n) for n in a.get_count_by_pid(pid)]
...
['NetworkTraffic(interface=eth1, recv=530, pid=586, send=2758)']
['NetworkTraffic(interface=eth1, recv=1538, pid=586, send=5044)']
['NetworkTraffic(interface=eth1, recv=2386, pid=586, send=8166)']

可用常数和方法

常数

  • p_tcp:定义TCP协议号
  • p_udp:定义udp协议号

过程识别

  • add_pid(pid):添加进程标识以计数流量
  • remove_pid(pid):删除进程标识和流量计数
  • get_pids():获取统计流量的进程标识列表
  • get_pid_by_port(proto,port):根据监控端口获取进程标识
  • clear\u pids():删除所有进程标识

倾听

  • add_address(addr):添加侦听地址;它应该适合接口
  • get_addresses():获取所有侦听地址
  • 删除地址(addr):删除侦听地址
  • clear_addresses():删除所有侦听地址

运行

  • start():启动监视器

交通信息

  • get_count_by_pid(pid):基于进程标识获取网络流量

端口信息

  • get_ports_by_pid(pid):根据进程标识获取监视端口列表
  • get_ports_by_proto(proto):获取基于TCP或UDP协议的监视端口列表;请参见p_TCP,p_UDP
  • get_ports():获取所有监视端口的列表

接口信息

  • get_interface_by_addr(addr):根据地址返回接口名称
  • get_interface_addrs():返回所有接口地址
  • get_addrs_by_interface(ifname):根据接口名返回地址

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式从TableLayout中删除所有行   Java Web Sart Ubuntu12.1。加载资源(图像)   人们如何让Java SPNEGO客户端在Windows中工作?   java Eclipselink:ObjectArrayMapping和ClassDescriptor   控制台中带有引号/空格的java Javafx命名参数   java创建服务失败:找不到对象?   java Hazelcast:如何在测试期间禁用自动发现?   使用TuckyUrlRewriteFilter rermoteaddr的java块IP   javascript如何在angular 4中进行同步http调用   输入字符串的java排列   java Jenkins不是以Xrs Xmx2048m XX:MaxPermSize=512m(windows)开始的   AWS EMR上的java avro错误   java从两个ArrayList中提取特定连接的对象,组合这些相关对象并从子类中打印   java从主题中删除什么时间点消息?   谷歌像素设备上的java InvalidKeyException   java如何在执行测试后重建项目   java Android 2.2 readUTF()socket问题   按下安卓设备上的“后退”按钮后java Toast没有完成?