用python写一个批量扫描ip的脚本
时间: 2023-02-25 18:07:38 浏览: 390
您好,以下是用 Python 写一个批量扫描 IP 的脚本的简单示例:
```
import socket
ips = ['192.168.0.1', '192.168.0.2', '192.168.0.3']
for ip in ips:
try:
socket.inet_aton(ip)
print(f"{ip} is valid")
except:
print(f"{ip} is invalid")
```
这个脚本通过使用 `socket.inet_aton` 函数检查 IP 地址是否有效,并在输出中报告 IP 地址的有效性。此代码仅供参考,实际应用中可能需要根据您的具体需求进行更多的扩展和修改。
相关问题
使用python编写一个批量扫描端口存活的脚本
当然可以,下面是一个示例的Python脚,可用于批量扫描端的存活情况:
```python
import
from concurrent.futures import ThreadPoolExecutor
def_port(ip, port):
try:
sock = socket.socket(socket.AF_INET, socket_STREAM)
sock.settimeout(2)
= sock.connect_ex((ip, port))
if result == :
print(f"Portport} is open on {ip}")
.close()
except Exception as e:
(f"Error occurred while scanning port {port} {ip}: {e}")
batch_scan_ports(ip,):
with ThreadPoolExecutor(max_workers10) as executor:
for port in ports:
.submit(scan_port, ip,)
if __name__ ==main__":
ip =127.0.0.1" # 替换为你要扫描的IP地址
ports = [80, 443, 8080, 22] # 替换为要扫描的端口列表
batch_scan_ports(ip, ports)
```
在上面的示例中,我们定义了两个函数:`scan_port`用于扫描单个端口的存活情况,`batch_scan_ports`用于批量调用`scan_port`函数来扫描多个端口。我们使用线程池来并发执行端口扫描任务,以提高效率。
你需要将`ip`变量替换为你要扫描的目标IP地址,将`ports`列表替换为你要扫描的目标端口列表。然后运行脚本,它将输出每个存活的端口。
请注意,这只是一个简单的示例,可能无法处理大规模的端口扫描。如果需要进行更复杂的端口扫描任务,可以考虑使用专业的端口扫描工具。
阅读全文