摘要:日常工作中,经常会查看服务器的端口占用情况,通常可以在服务器的本地执行相关的指令查看。如果要定期查看很多服务器的端口占用情况,相对来说就比较繁琐了。如果将整个过程编写成简单程序,在自己的PC机执行,通过模块查看远程服务器的端口占用情况,这样就方便很多。本文通过简单小程序查看远程服务器的端口占用情况,仅供参考。
本文主要介绍Linux系统通过编写简单程序查看服务器的端口占用情况,详细内容参考下文。
一、登陆Linux系统
1、登陆Linux
2、查看Linux版本
执行指令# lsb_release -a
二、编写端口扫描文件
1、安装Python3.8.8版本
执行指令# python -V查看python版本信息
或者执行指令# python --version
更详细的信息如下
输入指令quit()退出
2、编写python简单程序
使用visual studio Code编写端口扫描程序scan_port.py,其简单内容如下
详细内容如下
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# python3端口占用监测程序,该程序主要是监测指定的IP地址的哪些端口被占用
import socket, time, _thread
socket.setdefaulttimeout(3)
def socket_port(ip, port):
#输入IP和端口号,扫描判断端口是否被占用
try:
if port >=65535:
print (u'端口扫描结束')
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'开始扫描 %s' % ip)
start_time=time.time()
for i in range(0,65534):
_thread.start_new_thread(socket_port,(ip, int(i)))
print (u'扫描端口完成,总共用时:%.2f' %(time.time()-start_time))
# input("Press Enter to Exit")
except:
print (u'扫描ip出错')
if __name__=='__main__':
url=input('Input the ip you want to scan: ')
lock=_thread.allocate_lock()
ip_scan(url)
3、执行python简单程序
执行指令#python scan_port.py并输入需要扫描的服务器IP地址
注意:执行python程序的计算机需要安装python3版本,然后运行python 程序名称执行。