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 Google应用程序引擎Jsf2 welcomefilelist不工作   Java学校练习   jar如何在java应用程序中完成http请求流   java在将列表数据放入映射时遇到异常   java安卓studio谷歌前置条件   在Eclipse中使用gradle运行java项目   java CXF返回元素列表   java直线与垂线相交的精度   java将图像从磁盘加载到JSP页面   多线程在Java多线程进程中更新布尔值   java SDK目录“C:\Users\User\AppData\Local\Android\SDK”不存在   单击“确定”按钮时,java GUI登录系统不会做出反应   雅加达。网ConnectException:添加weblogicapplication后。xml   在两个用户定义的点之间进行java二进制搜索,返回输入的两个点之间的所有名称   需要Java IntelliJ帮助才能不读取我的文件吗   java在序列化过程中动态忽略JSON属性仅在某些情况下,对于其他api端点,不应进行过滤   java SpringBoot REST API MockMVC测试未成功创建用户,尽管在React项目中使用了相同的功能   调试java。jvisulavm中添加JMXConnection时的lang.SecurityException   基于java的web边缘检测浏览器