Python根据服务获取端口号的方法


Posted in Python onSeptember 25, 2019

根据服务获取端口号

首先需要下载一个psutil库

然后根据服务名找到PID

找到PID之后,通过pid获取端口号

# -*- encoding=utf8 -*-
import psutil
import re## 标题
import os
def processinfo(x):
  '''根据服务名找到PID'''
  procs = list(psutil.process_iter()) # 获取所有服务列表
  print(procs)
  for r in procs:
    aa = str(r)
    f = re.compile(x,re.I)
    if f.search(aa):
      print (aa.split('pid=')[1].split(',')[0])
      return aa.split('pid=')[1].split(',')[0]
      # print (aa.split('pid='))
def port(x):
  '''通过pid获取端口号'''
  PID = processinfo(x)
  cmd = 'netstat -ano | findstr' + ' '+str(PID)
  print(cmd)
  a = os.popen(cmd)
  # 此时打开的a是一个对象,如果直接打印的话是对象内存地址
  text = a.read()
  # 要用read()方法读取后才是文本对象
  first_line = text.split(':')
  ab = first_line[1]
  cd = ab.split(' ')
  por = cd[0]
  print(por)
  return por

知识点扩展:linux查看端口开启端口

一、查看哪些端口被打开  netstat -anp

二、关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP 

iptables -A OUTPUT -p tcp --dport 端口号-j DROP

三、打开端口号:iptables -A INPUT -ptcp --dport  端口号-j ACCEPT

四、以下是linux打开端口命令的使用方法。

 nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口)

五、linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以

总结

以上所述是小编给大家介绍的Python根据服务获取端口号的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 Python
Python迭代器定义与简单用法分析
Apr 30 Python
浅谈Python中的bs4基础
Oct 21 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
python在回调函数中获取返回值的方法
Feb 22 Python
Pyqt5自适应布局实例
Dec 13 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python如何实现远程方法调用
Aug 07 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
python保存图片的四个常用方法
Feb 28 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 #Python
python使用 request 发送表单数据操作示例
Sep 25 #Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 #Python
python mqtt 客户端的实现代码实例
Sep 25 #Python
python实现的登录与提交表单数据功能示例
Sep 25 #Python
python 利用pyttsx3文字转语音过程详解
Sep 25 #Python
python retrying模块的使用方法详解
Sep 25 #Python
You might like
PHP中PDO基础教程 入门级
2011/09/04 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
php curl_init函数用法
2014/01/31 PHP
PHP数组相关函数汇总
2015/03/24 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
如何实现动态删除javascript函数
2007/05/27 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
基于vue.js实现图片轮播效果
2016/12/01 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
python plotly绘制直方图实例详解
2019/07/22 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
Gap工厂店:Gap Factory
2017/11/02 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
禁烟标语大全
2014/06/11 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js