欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python編寫(xiě)小程序探測(cè)linux端口占用情況

 更新時(shí)間:2021年12月13日 10:56:03   作者:子非木  
這篇文章主要介紹了python編寫(xiě)小程序探測(cè)linux端口占用情況,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

今天要使用python寫(xiě)一個(gè)端口探測(cè)的小程序,以檢測(cè)一些特定的服務(wù)端口有沒(méi)有被占用,突然發(fā)現(xiàn)自己居然不知道在linux中如何查詢端口被占用的情況,天吶,趕快學(xué)習(xí)一下。??

Linux如何查看端口

1、lsof -i:端口號(hào) 用于查看某一端口的占用情況,比如查看8000端口使用情況,lsof -i:8000

# lsof -i:8000
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

可以看到8000端口已經(jīng)被輕量級(jí)文件系統(tǒng)轉(zhuǎn)發(fā)服務(wù)lwfs占用

2、netstat -tunlp |grep 端口號(hào),用于查看指定的端口號(hào)的進(jìn)程情況,如查看8000端口的情況,netstat -tunlp |grep 8000

# netstat -tunlp 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4814/rpcbind        
tcp        0      0 0.0.0.0:5908                0.0.0.0:*                   LISTEN      25492/qemu-kvm      
tcp        0      0 0.0.0.0:6996                0.0.0.0:*                   LISTEN      22065/lwfs          
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      38296/dnsmasq       
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      5278/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      5013/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      5962/master         
tcp        0      0 0.0.0.0:8666                0.0.0.0:*                   LISTEN      44868/lwfs          
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs
# netstat -tunlp | grep 8000
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      22065/lwfs   

說(shuō)明一下幾個(gè)參數(shù)的含義:

-t (tcp) 僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
-l 僅列出在Listen(監(jiān)聽(tīng))的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名

附加一個(gè)python端口占用監(jiān)測(cè)的程序,該程序可以監(jiān)測(cè)指定IP的端口是否被占用。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import socket, time, thread
socket.setdefaulttimeout(3) #設(shè)置默認(rèn)超時(shí)時(shí)間

def socket_port(ip, port):
    """
    輸入IP和端口號(hào),掃描判斷端口是否占用
    """
    try:
        if port >=65535:
            print u'端口掃描結(jié)束'
        s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result=s.connect_ex((ip, port))
        if result==0:
            lock.acquire()
            print ip,u':',port,u'端口已占用'
            lock.release()
    except:
        print u'端口掃描異常'

def ip_scan(ip):
    """
    輸入IP,掃描IP的0-65534端口情況
    """
    try:
        print u'開(kāi)始掃描 %s' % ip
        start_time=time.time()
        for i in range(0,65534):
            thread.start_new_thread(socket_port,(ip, int(i)))
        print u'掃描端口完成,總共用時(shí):%.2f' %(time.time()-start_time)
#       raw_input("Press Enter to Exit")
    except:
        print u'掃描ip出錯(cuò)'

if __name__=='__main__':
    url=raw_input('Input the ip you want to scan: ')
    lock=thread.allocate_lock()
    ip_scan(url)

該程序執(zhí)行結(jié)果如下:

# python scan_port.py
Input the ip you want to scan: 20.0.208.112
開(kāi)始掃描 20.0.208.112
20.0.208.112 : 111 端口已占用
20.0.208.112 : 22 端口已占用
20.0.208.112 : 8000 端口已占用
20.0.208.112 : 15996 端口已占用
20.0.208.112 : 41734 端口已占用
掃描端口完成,總共用時(shí):9.38

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • TensorFlow內(nèi)存管理bfc算法實(shí)例

    TensorFlow內(nèi)存管理bfc算法實(shí)例

    今天小編就為大家分享一篇TensorFlow內(nèi)存管理bfc算法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python使用梯度下降算法實(shí)現(xiàn)一個(gè)多線性回歸

    python使用梯度下降算法實(shí)現(xiàn)一個(gè)多線性回歸

    這篇文章主要為大家詳細(xì)介紹了python使用梯度下降算法實(shí)現(xiàn)一個(gè)多線性回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • pytorch中的torch.nn.Conv2d()函數(shù)圖文詳解

    pytorch中的torch.nn.Conv2d()函數(shù)圖文詳解

    這篇文章主要給大家介紹了關(guān)于pytorch中torch.nn.Conv2d()函數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Python對(duì)象與引用的介紹

    Python對(duì)象與引用的介紹

    今天小編就為大家分享一篇關(guān)于Python對(duì)象與引用的介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • python 數(shù)據(jù)分析實(shí)現(xiàn)長(zhǎng)寬格式的轉(zhuǎn)換

    python 數(shù)據(jù)分析實(shí)現(xiàn)長(zhǎng)寬格式的轉(zhuǎn)換

    這篇文章主要介紹了python 數(shù)據(jù)分析實(shí)現(xiàn)長(zhǎng)寬格式的轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python函數(shù)式編程指南(二):從函數(shù)開(kāi)始

    Python函數(shù)式編程指南(二):從函數(shù)開(kāi)始

    這篇文章主要介紹了Python函數(shù)式編程指南(二):從函數(shù)開(kāi)始,本文講解了定義一個(gè)函數(shù)、使用函數(shù)賦值、閉包、作為參數(shù)等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹(shù)的高效且可擴(kuò)展實(shí)現(xiàn)

    python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹(shù)的高效且可擴(kuò)展實(shí)現(xiàn)

    這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹(shù)的高效且可擴(kuò)展實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python中利用函數(shù)裝飾器實(shí)現(xiàn)備忘功能

    Python中利用函數(shù)裝飾器實(shí)現(xiàn)備忘功能

    這篇文章主要介紹了Python中利用函數(shù)裝飾器實(shí)現(xiàn)備忘功能,同時(shí)還降到了利用裝飾器來(lái)檢查函數(shù)的遞歸、確保參數(shù)傳遞的正確,需要的朋友可以參考下
    2015-03-03
  • python3?字符串str和bytes相互轉(zhuǎn)換

    python3?字符串str和bytes相互轉(zhuǎn)換

    這篇文章主要介紹了python3?字符串str和bytes相互轉(zhuǎn)換,在文件傳輸過(guò)程中,通常使用bytes格式的數(shù)據(jù)流,而代碼中通常用str類(lèi)型,因此str和bytes的相互轉(zhuǎn)換就尤為重要,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-03-03
  • Python OpenGL繪制一場(chǎng)煙花盛會(huì)

    Python OpenGL繪制一場(chǎng)煙花盛會(huì)

    正值新春佳節(jié),小編今天為大家?guī)?lái)了用Python OpenGL繪制的一場(chǎng)煙花盛會(huì),文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-02-02

最新評(píng)論