python通过端口和协议查出服务名
? ? 通過(guò)指定的端口和協(xié)議找到服務(wù)名如果想找到網(wǎng)絡(luò)服務(wù),最好知道該服務(wù)運(yùn)行在TCP或UDP協(xié)議的哪個(gè)端口上。如果知道網(wǎng)絡(luò)服務(wù)使用的端口可以調(diào)用socket庫(kù)中的getservbyport()函數(shù)來(lái)獲取服務(wù)的名字。
技術(shù)點(diǎn)分解:
1、定義find_service_name()函數(shù),注意函數(shù)內(nèi)代碼縮進(jìn)
2、getservbyport(port,port_type),通過(guò)port查找service,port_type為‘tcp’和‘udp’兩種
3、for-in 循環(huán)一組變量。在每次遍歷中,獲取端口對(duì)應(yīng)的服務(wù)名
代碼如下:
import??socket def?find_service_name():port_type?=?'tcp'port_type1?=?'udp'for?port?in?[25,80,22]:print?("Port:?%s?=>?service?name:?%s"?%(port,socket.getservbyport(port,port_type)))print("Port:?%s?=>?service?name:?%s"?%?(53,?socket.getservbyport(53,?'udp'))) find_service_name()備注:socket.getservbyport這函數(shù)定義的端口種類(lèi)過(guò)少,經(jīng)過(guò)測(cè)試像3306 mysql這種常見(jiàn)的都顯示報(bào)錯(cuò),只當(dāng)做測(cè)試使用吧,個(gè)人感覺(jué)沒(méi)啥太大實(shí)用價(jià)值
運(yùn)行結(jié)果:
轉(zhuǎn)載于:https://blog.51cto.com/laobaiv1/1956451
總結(jié)
以上是生活随笔為你收集整理的python通过端口和协议查出服务名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1012: [JSOI2008]最大数m
- 下一篇: 【Python】Python 过滤列表