博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 找出监听的端口号对号显示
阅读量:6247 次
发布时间:2019-06-22

本文共 1745 字,大约阅读时间需要 5 分钟。

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

脚本内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@mail 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 
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 
in 
appInfo:
        
print 
i

运行效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@mail 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之类的画图软件,显示端口的思路。

本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1637553,如需转载请自行联系原作者
你可能感兴趣的文章
微服务所需组件(大部分是Spring Cloud,持续更新)
查看>>
ubuntu上安装curl后无法使用
查看>>
JavaScript闯关笔记
查看>>
云服务和独立服务器 我们应该怎么选?
查看>>
优化体系结构 - 算法外置优化计算结构
查看>>
Spring MVC+Stomp+Security+H2 Jetty
查看>>
2019年的前端学习计划
查看>>
Linux和UNIX的关系及区别
查看>>
人工智能深度学习Caffe框架介绍,优秀的深度学习架构
查看>>
JavaScript 九种跨域方式实现原理
查看>>
人工智能期末笔记
查看>>
ApacheCN 学习资源汇总 2019.3
查看>>
每隔1s打印0-5
查看>>
企业云服务器的选择与配置指南
查看>>
Python中eval与exec的使用及区别
查看>>
如何利用es6去重
查看>>
小心,querySelector前方10米有坑
查看>>
刘奇:我们最喜欢听用户说的话是「你们搞得定吗?」 | TiDB DevCon 2019
查看>>
缓存在高并发场景下的常见问题
查看>>
组合视图
查看>>