python 找出监听的端口号对号显示

刚好做运维平台,领导也有个要求是实时的查看,任意一台主机的端口开启状态,实际上我已经做了脚本发邮件每天diff的功能,但是为了方便展示还是写了这个脚本:

脚本内容:

[[email protected] python]# cat test1.py
#coding=utf-8
#!/usr/bin/python
import string
import commands
 
def getComStr(comand):
    try:
        stat,proStr = commands.getstatusoutput(comand)
    except:
        print "command %s execute failed, exit" % comand 
    return proStr
 
def filterList():
    tmpStr = getComStr("netstat -tpln")
    tmpList = tmpStr.split("\n")
    List = tmpList[2::]
    newList = []
    for i in List:
        val = i.split()
        del val[0:3]
        del val[1:3]
        valTmp = val[0].split(":")
        val[0] = valTmp[1]
        valTmp = val[1].split("/")
        val[1] = valTmp[-1]
        val = ‘------> ‘.join(val)
        if ‘ _‘ not in val:
            newList.append(val)
    return newList
if __name__ == "__main__":
    netInfo=filterList() 
    appInfo = list(set(netInfo))
    appInfo.sort(key=netInfo.index) 
    for i in appInfo:
        print i

运行效果:

[[email protected] python]# python test1.py 
22------> sshd
8888------> python
25------> master
4505------> python
4506------> python
4190------> cyrus-master
8000------> python
993------> dovecot
10050------> zabbix_agentd
5666------> nrpe
10051------> zabbix_server
995------> dovecot
199------> snmpd
10025------> master
110------> dovecot
143------> dovecot
783------> spamd------> -d
80------> httpd

当然也可以实现用列表的方式展示入库,然后前端读取,但是这里为了这本我直接用ajax的方式前端返回这个值,主要是结合了:ajax  然后用salt执行脚本返回值:

效果展示:

世界上实现方式很灵活,也可以入库然后结合echerts之类的画图软件,显示开发端口的思路。

时间: 2024-10-31 00:08:40

python 找出监听的端口号对号显示的相关文章

Tomcat监听443端口的方法

当我们需要更安全的访问网站的时候就会选择使用https协议,而https协议默认的端口号为443端口,这就是我们为什么向让Tomcat监听在443端口的原因,因为监控在非80端口和443端口的web服务都需要指定端口号来访问,这无疑会影响用户的体验. 但是,我们如果直接在Tomcat的配置文件中将监听的端口号定义为443或1024以下的端口时,会报以下的错误. Jul 19, 2017 10:36:05 PM org.apache.catalina.startup.Catalina start

【网络通信】服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么?

1. 服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么? 答:对.建立连接时服务器会分配一个新的Socket,但是用的源端口号还是80端口.套接字是由协议类型.源IP.目的IP和源端口.目的端口五部分组成的,理论上讲,不同连接的套接字只要满足这五部分不完全相同即可.只要不完全相同,收发数据时就能区分不同连接的数据. 附:这也是通过tcpdump等网络抓包工具抓取服务器监听端口的数据可以抓取到该服务下所有连接的网络包的原因所在. 2.使用同一端口号收发数据,是不是会导致带宽

配置Tomcat监听80端口, 配置Tomcat虚拟主机,Tomcat日志

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/conf/server.xml在里面找到8080<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />将里面的8080改为80,然后保存退出.然后先关闭tomcat/usr/local/tomcat/bin/

linux系统实现多个进程监听同一个端口

通过 fork 创建子进程的方式可以实现,其他情况下不行. 当连接到来时,子进程.父进程都可以 accept, 这就是著名的"惊群"问题(thundering herd problem). 惊群现象 在该模型下(多个子进程同时共享监听套接字)即可实现服务器并发处理客户端的连接.这里要注意的是,计算机三次握手创建连接是在内核进程里完成的,不需要应用服务进程参数的,而服务进程仅仅要做的是调用accept将已建立的连接构建对应的连接套接字connfd(可参考 http://blog.csdn

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

NetworkComms 通信框架 V3 之监听多端口

NetworkComms通信框架V3版本 支持服务器端程序同时监听多端口 使用示例代码如下: SendReceiveOptions sendReceiveOptions = new SendReceiveOptions<NullSerializer>(); //本地IP端点 List<EndPoint> localIPEndPoints = new List<EndPoint>(); //本地 监听器 List<ConnectionListenerBase>

2016年12月 丽声唱片 民谣HiFi发烧碟《丽声监听王3号-试机民谣》

专辑名称:丽声监听王3号-试机民谣 专辑艺人:群星 唱片公司:丽声唱片 发行时间:2016年12月 资源格式:UPDTS-WAV分轨 专辑简介: 丽声唱片 民谣HiFi发烧碟 德国音频处理技术,母盘1:1直刻. 最具灵气的曲风,蕴藏着原始精华,清新纯美,体会那神秘与传奇的感悟. 全新的编曲,深情的演唱,令你耳目一新. 曲目 专辑曲目:01 斑马斑马02 红蔷薇03 安河桥04 野子05 平凡之路06 南山南07 董小**姐08 假如爱有天意09 异乡人10 寂静的天空11 南方姑娘12 走在冷风

非root用户无法启动监听80端口的Tomcat

一.问题 网站绑定域名后直接通过域名访问使用的是80端口,因此tomcat须监听80端口.而为了安全起见tomcat一般不用root身份运行,因此需要以普通用户来运行监听80端口的root.此时就会启动失败,报没有权限,因为只有root身份才能监听1024以内的熟知端口. 二.解决 (以下未经验证) There are a few different solutions to work around this: Install and configure Apache or nginx as a

普通用户从非80端口启动tomcat,通过端口转发监听80端口

linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 -A PREROUTING 添加新规则-p 检查tcp协议--dport 80 指定目标端口-j REDIRECT 目标跳转--to-prot