# 导入 scapy 模块
# 通过导入 inet 层,你可以使用其中定义的函数和类来构建、发送和解析与网络层相关的数据包,如 IP 数据包、ARP 数据包等
from scapy.all import *
from scapy.layers.inet import *
# 此模块可以禁止 scapy 输出运行时的警告和错误信息
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
# 定义原地址、目的地址
src="10.9.47.24"
dst= "10.9.47."
# 通过拼接,定义一个网段
for host in range(1,10):
ip= f"{dst}{host}"
# print(ip)
# 生成一个ICMP请求包
pkt= IP(src= src,dst= ip)/ICMP()
# pkt.show() 查看包中的信息
# 发送数据包,verbose = False用来屏蔽日志,timeout=0.2设置超时时间为0.2秒
res= sr1(pkt, timeout=0.2,verbose = False)
# res.show()
# 如果res 有回应,并且res.type为0,说明目标IP存在
if res and res.type== 0:
print(f"[+]Alive:{ip}")
Python脚本--内网主机存活检测程序
最新推荐文章于 2024-07-30 14:54:43 发布
本文介绍了如何使用Python的scapy库构建、发送IP和ARP数据包,并通过ICMP请求检测目标主机是否可达。作者展示了从定义源和目标地址到发送并接收响应的完整过程。
摘要由CSDN通过智能技术生成