请写一个python脚本 使用Scapy库 实现”hping3 www.baidu.com -p 443 -C 10 -d 100 -S -a 110.242.69.86“的效果 并可以显示 每个包的耗时
时间: 2024-04-10 16:32:38 浏览: 163
以下是一个使用Scapy库实现类似于"hping3 www.baidu.com -p 443 -C 10 -d 100 -S -a 110.242.69.86"效果并显示每个数据包的耗时的Python脚本:
```python
from scapy.all import *
import time
def send_hping3_packet(target_ip, target_port, packet_count, data_size, source_ip):
# 构造TCP SYN数据包
packet = IP(src=source_ip, dst=target_ip) / TCP(dport=target_port, flags="S") / Raw(RandString(size=data_size))
# 发送指定数量的数据包,并记录耗时
for i in range(packet_count):
start_time = time.time()
response = sr1(packet, timeout=2, verbose=0)
end_time = time.time()
if response:
print(f"Packet {i+1} Sent. Time: {end_time - start_time:.6f}s")
else:
print(f"Packet {i+1} Timeout")
# 设置参数
target_ip = "www.baidu.com"
target_port = 443
packet_count = 10
data_size = 100
source_ip = "110.242.69.86"
# 调用函数发送hping3数据包
send_hping3_packet(target_ip, target_port, packet_count, data_size, source_ip)
```
该脚本使用`sr1()`函数发送数据包并等待响应,设置超时时间为2秒。对于每个发送的数据包,它会记录开始时间和结束时间,并计算耗时。如果接收到响应,它会打印出数据包发送成功并显示耗时,否则将打印超时消息。
请注意,在使用Scapy库发送数据包时,可能需要以管理员权限运行该脚本。
阅读全文