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

根据服务获取端口号

首先需要下载一个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根据服务获取端口号的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Appium+python自动化怎么查看程序所占端口号和IP

    简介 这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到 FQ工具 Lantern ,就算是给关注和支持的小伙伴们拓展一下眼界和知识面.而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以. 一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具 Lantern 为例,说明端口查看方法: 1.借助第三方软件查看 如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图: 2.命令行窗口查看 在命令行窗口查看

  • python flask 如何修改默认端口号的方法步骤

    场景:按照github文档上启动一个flask的app,默认是用5000端口,如果5000端口被占用,启动失败. 样例代码: from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' 启动的脚本: $ env FLASK_APP=hello.py flask run 出错信息如下: renjg@renjg-HP-Compaq-Pro-6380-MT:~/Wor

  • 使用python根据端口号关闭进程的方法

    我们知道,做web开发,在调试时需要反复启动整个工程,那么上一个工程占用的端口,在下一次工程启动时就不能用了,因为占用的端口没有释放,但是手动关闭方法是: lsof -i:12345 得到pid后再kill -9 pid 十分麻烦,所以能否在启动python的web工程时顺便把上一次占用的端口给关闭了呢? 当然是有的,下面以flask为例(注意,复制下面的代码时,不要直接鼠标复制,而是使用左上角的view plain来复制,因为csdn博客会把'''+str(port)+'''的右侧显示成5个单

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

    根据服务获取端口号 首先需要下载一个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 =

  • django 修改server端口号的方法

    django可以在运行服务器时指定端口号 python manage.py runserver 8080 我们启动django开发服务器,输入命令 manage.py runserver 默认的端口是8000. 我们在浏览器中输入127.0.0.1:8000,可以访问8000端口 我们先停掉django的服务,按ctrl + c 就可以停掉服务 .然后查看django的runserver的命令解释. 其中图片中的addrport意思是增加端口的意思 是可选择参数 这时候我们可以重启服务器,并指定

  • CentOS6.5与CentOS7 ssh修改默认端口号的方法

    本文实例讲述了CentOS6.5与CentOS7 ssh修改默认端口号的方法.分享给大家供大家参考,具体如下: CentOS6.5ssh修改默认端口号 先查看下服务器端口号范围: # sysctl -a|grep ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000 新ssh端口号在这个范围内即可,如41134 第一步: vi /etc/sysconfig/iptables 找到现有的ssh那行,把22修改为新的SSH端口号

  • Python Selenium自动化获取页面信息的方法

    1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.baidu.com') #打印网页标题 print(browser.title) #输出内容:百度一下,你就知道 2.获取页面URL current_url:获取当前页面的URL from selenium import webdriver

  • python实现超简单端口转发的方法

    本文实例讲述了python实现超简单端口转发的方法.分享给大家供大家参考.具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下. 复制代码 代码如下: #tcp server import socket host = '127.0.0.1'          #Local Server IP host2 = '127.0.0.1'   #Real Server IP port = 6001 #Local Server Port port2 = 7001 #Real

  • Python实现去除代码前行号的方法

    本文实例讲述了Python实现去除代码前行号的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class MainWindow(wx.Frame):     def __init__(self, parent, id):         wx.Frame.__init__(self, parent, id,         u'去除代码前行号的Python小工具 - wxPython版 - Develop

  • python通过邮件服务器端口发送邮件的方法

    本文实例讲述了python通过邮件服务器端口发送邮件的方法.分享给大家供大家参考.具体实现方法如下: fromAddress = 'sender@example.com' toAddress = 'me@my.domain' msg = "Subject: Hello\n\nThis is the body of the message." import smtplib server = smtplib.SMTP("localhost", 25) server.se

  • Python数据分析之获取双色球历史信息的方法示例

    本文实例讲述了Python数据分析之获取双色球历史信息的方法.分享给大家供大家参考,具体如下: 每个人都有一颗中双色球大奖的心,对于技术人员来说,通过技术分析,可以增加中奖几率,现使用python语言收集历史双色球中奖信息,之后进行预测分析. 说明:采用2016年5月15日获取的双色球数据为基础进行分析,总抽奖数1940次. 初级代码,有些内容比较繁琐,有更好的代码,大家可以分享. #!/usr/bin/python # -*- coding:UTF-8 -*- #coding:utf-8 #a

  • 修改maven项目端口号的方法

    同时启动多个maven项目,需要修改其端口号.一行命令就可以搞定! tomcat7:run -Dmaven.tomcat.port=8080 以上这篇修改maven项目端口号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 修改maven本地仓库路径的方法 Java修改maven的默认jdk版本为1.7的方法

  • nodejs更改项目端口号的方法

    在项目中加入文件:ServerConf var ServerConf= { ApiHost: "" //后台链接api ,ServicePort:3003 }; module.exports=ServerConf; app.js // 设置端口号 var ServerConf=require("./ServerConf"); 列表内容 process.env.PORT=ServerConf.ServicePort;//设置端口号,不要占用了. 以上这篇nodejs更

随机推荐