python 找出监听的端口号对号显示
生活随笔
收集整理的這篇文章主要介紹了
python 找出监听的端口号对号显示
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? 剛好做運維平臺,領(lǐng)導(dǎo)也有個要求是實時的查看,任意一臺主機的端口開啟狀態(tài),實際上我已經(jīng)做了腳本發(fā)郵件每天diff的功能,但是為了方便展示還是寫了這個腳本:
腳本內(nèi)容:
| 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?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 |
運行效果:
| 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 |
當然也可以實現(xiàn)用列表的方式展示入庫,然后前端讀取,但是這里為了這本我直接用ajax的方式前端返回這個值,主要是結(jié)合了:ajax ?然后用salt執(zhí)行腳本返回值:
效果展示:
實際上實現(xiàn)方式很靈活,也可以入庫然后結(jié)合echerts之類的畫圖軟件,顯示端口的思路。
本文轉(zhuǎn)自 小羅ge11 51CTO博客,原文鏈接:http://blog.51cto.com/xiaoluoge/1637553,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的python 找出监听的端口号对号显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 总是梦到闺蜜代表什么
- 下一篇: Python14 函数