python打印系统所有tcp,udp监听端口及服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python打印系统所有tcp,udp监听端口及服务相关的知识,希望对你有一定的参考价值。

#!/usr/local/bin/python3
#coding:utf-8

import string, subprocess

tcptmpStr = ((subprocess.check_output(["netstat", "-ntlp"])).decode(utf-8)).strip()
udptmpStr = ((subprocess.check_output(["netstat", "-nulp"])).decode(utf-8)).strip()
#get tcp port and service

def getTCPservice(tcptmpStr):
        tmpList = tcptmpStr.split("\n")
#        del tmpList[0:2]
        newList = []
        
        for i in tmpList:
            val = i.split()
            del val[0:3]
            del val[1:3]
            valTmp = (val[0].split(":"))[-1]
            val[0] = valTmp
            valTmp = val[1].split(/)
            val[1] = valTmp[-1]
            val =  .join(val)
            newList.append(val)
        return newList
    
#get udp port and service 

def getUDPservice(udptmpStr):        
        tmpList = udptmpStr.split("\n")
        del tmpList[0:2]
        newList = []
        
        for i in tmpList:
            val = i.split()
            del val[0:3]
            del val[1]
            valTmp = (val[0].split(":"))[-1]
            val[0] = valTmp
            valTmp = val[1].split(/)
            val[1] = valTmp[-1]
            val =  .join(val)
            newList.append(val)
        return newList

#def tcpService():     
for i in getTCPservice(tcptmpStr):
    val = i.split( , 1)
    port, app = val
    print(port, app) 

#def udpService():
for i in getUDPservice(udptmpStr):
    val = i.split( , 1)
    port, app = val
    print(port, app)
        
  

END!

以上是关于python打印系统所有tcp,udp监听端口及服务的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用netstat查看网络状态

TCP和UDP使用同一端口通信

TCP和UDP 能够同时监听“同一端口”吗

python获取系统下打开的端口

TODO:Golang语言TCP/UDP协议重用地址端口

TCP有235端口,UDP也可以有235端口,为啥不会冲突?