Я собрал пакеты из сетей, и я сохранил их в файл * .pcap Я хочу изменить адрес src и dst ip и отправить его в сеть. Я написал простой скрипт:Scapy - отправлять пакеты из файла pcap с измененными IP-адресами
#! /usr/bin/env python
from scapy.all import *
from scapy import *
from scapy.utils import rdpcap
from scapy.utils import wrpcap
packets = rdpcap("/root/Desktop/500000pkt.pcap", 1000)
for pkt in packets:
if pkt.haslayer(IP) == 1:
pkt[IP].src = "10.0.1.2"
pkt[IP].dst = "10.0.1.1"
#for pkt in packets:
# pkt.display()
wrpcap("/root/Desktop/500000pkt_changed.pcap", packets)
sendpfast(packets)
Я использую интерфейс eth1. После выполнения этого скрипта я вижу это:
WARNING: No route found for IPv6 destination :: (no default route?)
sending out eth1
processing file: /tmp/scapylUGae4
Actual: 1000 packets (627010 bytes) sent in 0.09 seconds. Rated: 6966778.0 bps, 53.15 Mbps, 11111.11 pps
Statistics for network device: eth1
Attempted packets: 1000
Successful packets: 1000
Failed packets: 0
Retried packets (ENOBUFS): 0
Retried packets (EAGAIN): 0
В Wireshark я наблюдать поток в сети, но ничего не происходит. Его тишина. Пинг с компьютера на маршрутизатор успешно.
Что я делаю неправильно? Может ли кто-нибудь помочь?
Я сам не знаю, но я полагаю, что 'scapy' не переписывает контрольные суммы при изменении информации. Вероятно, это вызывает проблемы. –