в настоящее время думаю о возможности прослушивания того же интерфейса, используя только pcap, а также вводить пакеты с помощью pcap_inject.
Эта вещь может быть легко решена с помощью:
- постоянное отслеживание контрольной суммы /большая медленная карта/,
- отслеживание контрольной суммы — пока не будут введены все данные, скажем, первый http-запрос;
- взлом bpf/libipq/Netfilter для переноса дополнительных параметров для каждого реального PHY-пакета
Но:
pcap слушает eth0 /реальная ситуация ближе к «pcap слушает и отбрасывает с помощью магии источника»/, pcap отправляет пакеты через дескриптор eth0, чтобы их можно было перенаправить. Какова теоретическая основа для того, чтобы libpcap не перехватывал пакеты, которые были введены в тот же интерфейс с использованием одной и той же библиотеки - например, внедренные пакеты не проходят через весь код фильтра пакетов Беркли?
Практический тест подлежит уточнению.