eth0 je připojen do switche. Zkoušel jsem změnit program aby poslouchal na loopbacku a poslat to přes něj, ale chová se to stejně. tcpdump pakety vidí, program ne.
Problém asi musí být v tom, že tcpreplayem ten provoz generuji na cílovém stroji.
tcpdump (při tcpreplayi) ukáže přesně to samé, jako když provoz přichází zvenku, z originálního zdroje. Zkoušel jsem nasadit různá iptables pravidla (na INPUT a OUTPUT), abych ty pakety viděl, ale nic.
Pak jsem ještě zkusil ten nahraný provoz odesílat z jiného stroje, zkusil jsem změnit zdrojovou ip adresu na tu ip adresu toho jiného stroje - tak aby to vypadalo správně:
tcpprep --auto=router --pcap=record --cachefile=input.cache
tcprewrite --endpoints=62.240.184.2:62.240.184.74 --cachefile=input.cache --infile=record --outfile=output.pcap
masky obou pc jsou /30, takze jsou za routerem. Na PC "62.240.184.2" spouštím
tcpreplay -i eth0 output.pcap
a opět, ačkoliv tcpdumpem (na tom novém PC) vidím provoz odcházet správně, na cílovém pc nevidím nic (tentokrát ani tcpdumpem)
tcpdump na cílovém PC (s programem) - toto vidím, když pakety přichází z vnějšího zdroje (88.146.151.213) ale i při tcpreplayi spuštěném na tomto pc
10:45:23.655911 IP 88.146.151.213.1234 > 62.240.184.74.1234: UDP, length 1464
10:45:23.655916 IP 88.146.151.213.1234 > 62.240.184.74.1234: UDP, length 1464
10:45:23.656502 IP 88.146.151.213.1234 > 62.240.184.74.1234: UDP, length 408
tcpdump na novém PC (62.240.184.2) po přepsání zdrojové IP (bohužel cílové pc nic nevidí):
10:17:40.417416 IP 62.240.184.2.1234 > 62.20.184.74.1234: UDP, length 1464
10:17:40.417630 IP 62.240.184.2.1234 > 62.20.184.74.1234: UDP, length 1464
10:17:40.417638 IP 62.240.184.2.1234 > 62.20.184.74.1234: UDP, length 168
Teď nevím jak dál. Zkuste mi něco ještě poradit, případně úplně jiný postup. Koukal jsem na packet generator dle rady Ahmula, obě PC jsou na CentOS, bylo by celkem komplikované to na nich rozeběhnout, a výsledek je nejistý.