写一个端口扫描的python脚本
时间: 2024-09-10 19:03:35 浏览: 49
端口扫描是一个网络操作,其目的是确定哪个网络端口是开放的,正在监听,或者关闭的。下面是一个简单的Python脚本示例,使用了内置的`sckit`库中的`socket`模块来实现端口扫描:
```python
import socket
def port_scanner(ip, start_port, end_port):
for port in range(start_port, end_port + 1):
try:
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间
s.settimeout(1)
# 尝试连接端口
s.connect((ip, port))
print(f"端口 {port} 是开放的")
s.close()
except:
# 端口关闭的异常处理
pass
if __name__ == "__main__":
target_ip = input("请输入目标IP地址: ")
start = int(input("请输入起始端口号: "))
end = int(input("请输入结束端口号: "))
port_scanner(target_ip, start, end)
```
运行上述脚本时,它会提示用户输入目标IP地址、起始端口号和结束端口号。然后脚本会扫描指定范围内的端口,并显示哪些端口是开放的。
请注意,端口扫描可能会违反网络安全政策,并可能被视为非法行为,尤其当你没有明确权限对目标网络进行扫描时。在实际应用中,请确保你拥有执行端口扫描的合法权限,并且不违反任何相关法律法规。
阅读全文