下面是详细讲解 “Python编写小程序探测Linux端口占用情况”的完整攻略。
1. 需求分析
首先我们需要明确这个小程序的需求。本程序需要接受用户输入一个IP地址和端口号,然后通过扫描这个IP地址和端口号,判断此端口是否被占用。最后将扫描结果输出给用户。
2. 程序设计
接下来我们进行程序设计。首先,我们需要导入 socket
模块来实现IP地址和端口的连接。然后,我们需要编写一个函数来检查端口是否被占用。最后,我们需要使用 argparse
模块来处理用户输入的参数并输出程序结果。
以下是程序的基本设计步骤:
- 导入 socket 模块
- 定义一个名为
check_port
的函数,接受两个参数:ip 和 port - 在
check_port
函数中,使用socket
模块将ip
和port
进行连接 - 如果连接成功,表明此端口被占用,输出结果
- 如果连接失败,表明此端口未被占用,输出结果
- 使用 argparse 模块处理用户的参数,并输出程序结果
3. 代码实现
导入 socket 模块
import socket
编写 check_port 函数
def check_port(ip, port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((ip, port))
print("端口{}已被占用".format(port))
s.close()
return True
except:
print("端口{}未被占用".format(port))
s.close()
return False
处理用户输入参数
import argparse
parser = argparse.ArgumentParser(description='检查端口是否被占用')
parser.add_argument('--ip', dest='ip', required=True, help='输入要扫描的IP地址')
parser.add_argument('--port', dest='port', required=True, help='输入要扫描的端口号')
args = parser.parse_args()
调用函数并输出结果
check_port(args.ip, int(args.port))
示例说明
示例一
假设我们要扫描IP地址为 127.0.0.1
的计算机是否占用了 80
端口,可以使用以下命令:
python3 port_scan.py --ip 127.0.0.1 --port 80
程序会输出以下结果:
端口80已被占用
示例二
假设我们要扫描IP地址为 192.168.0.1
的计算机是否占用了 22
端口,可以使用以下命令:
python3 port_scan.py --ip 192.168.0.1 --port 22
程序会输出以下结果:
端口22未被占用
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python编写小程序探测linux端口占用情况 - Python技术站