python經過端口和協議查出服務名

    經過指定的端口和協議找到服務名若是想找到網絡服務,最好知道該服務運行在TCP或UDP協議的哪一個端口上。若是知道網絡服務使用的端口能夠調用socket庫中的getservbyport()函數來獲取服務的名字。mysql


技術點分解:sql

一、定義find_service_name()函數,注意函數內代碼縮進bash

二、getservbyport(port,port_type),經過port查找service,port_type爲‘tcp’和‘udp’兩種網絡

三、for-in 循環一組變量。在每次遍歷中,獲取端口對應的服務名socket


代碼以下:tcp

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這函數定義的端口種類過少,通過測試像3306 mysql這種常見的都顯示報錯,只當作測試使用吧,我的感受沒啥太大實用價值ide

運行結果:函數

wKioL1mSohbz7ehQAAA7vhPXu6o038.jpg-wh_50

相關文章
相關標籤/搜索