Python根據服務獲取埠號的方法
阿新 • • 發佈:2020-01-09
根據服務獲取埠號
首先需要下載一個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根據服務獲取埠號的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!