Python 端口扫描工具:快速扫描指定IP范围内的端口
以下是一个简单的 Python 程序,用于扫描指定的 IP 地址范围内的指定端口是否开放。程序使用了 Python 的 socket 库来连接主机和端口,如果连接成功,则说明端口开放,否则端口关闭。
import socket
def scan_port(host, port):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(1)
s.connect((host, port))
print(f'Port {port} is open')
s.close()
except:
pass
def scan_host(host, ports):
print(f'Scanning {host}')
for port in ports:
scan_port(host, port)
def main():
ip_range = input('Enter IP range to scan (e.g. 192.168.1.1-255): ')
start_ip, end_ip = ip_range.split('-')
ports = input('Enter ports to scan (e.g. 80,443): ')
ports = [int(port) for port in ports.split(',')]
for i in range(int(start_ip), int(end_ip)+1):
host = f'192.168.1.{i}'
scan_host(host, ports)
if __name__ == '__main__':
main()
使用方法:
- 运行程序
- 输入要扫描的 IP 地址范围,格式为'起始IP地址-结束IP地址',例如'192.168.1.1-255'
- 输入要扫描的端口,多个端口用逗号分隔,例如'80,443'
- 程序开始扫描指定的 IP 地址范围内的指定端口
- 扫描完成后,程序会显示哪些端口在指定 IP 地址范围内开放
原文地址: https://www.cveoy.top/t/topic/mLpF 著作权归作者所有。请勿转载和采集!