Wie man HTTP-Verkehr einer realen Website in einer anderen Umgebung (zB VM)

Es gibt einen Fehler in meiner Web-Anwendung, die ich nicht reproduzieren kann. Alle Logs sehen ok aus oder zumindest kann ich nichts Ungewöhnliches sehen. Aber es passiert Also dachte ich, ich könnte den ganzen Traffic auf / von meiner Website aufnehmen, der darauf wartet, dass der Bug passiert und das gehört hat, irgendwie in meiner Testumgebung wiederzugeben. Und es geschah! Also habe ich die hier erfassten data:

tcpdump -s 1514 -X tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) -Z root -C 20 -W 1000 -w capture.cap 

und ich weiß nicht was kann ich damit machen Ich habe eine virtuelle Maschine, die die gleiche Version der Web-App läuft und ich möchte die aufgezeichneten data in ihr wiedergeben. Wie soll ich mich dem anschließen?

[BEARBEITEN]

Ich habe versucht, dies mit tcpreplay nach diesem Beispiel zu tun, aber mein Web-server hat keinen Verkehr angemeldet.

Meine Prüfmaschine (Fedora 8) läuft im VMWare Player. Angenommen, dass die IP der Maschine 192.168.41.128 ist und es eine Netzwerkschnittstelle hat: eth0 (außer Loopback) – wie die Schritte # 2 und # 3 aus dem Beispiel in meinem Fall aussehen sollten? Soll ich es auf derselben Maschine oder von einem anderen ausführen?

  • Tvpreplaying mit VMware
  • 3 Solutions collect form web for “Wie man HTTP-Verkehr einer realen Website in einer anderen Umgebung (zB VM)”

    Sie haben ein paar Optionen, alle von ihnen cool und keiner von ihnen drop-in Produkte. Zusammenbau erforderlich.

    • Es gibt die PERL-Anwendung Kettenrad , um den Webverkehr wiedergeben zu können. Hier ist die rohe PERL .
    • Es gibt TCPReplay .
    • Wenn Sie einen Lack-server verwenden, können Sie varnishreplay verwenden .
    • Es gibt auch ein Tool namens " PReplay ", das für Windows-Rechner ist.
    • JWireReplay wird tcpdump-Captures wiedergeben.

    Was Sie wahrscheinlich tun möchten, ist zu vergessen, die Protokolle, die Sie bereits inspiziert haben, oder zumindest jeden Wunsch aufgeben, diese fileen wiederzugeben. Richten Sie eines dieser Systeme ein und verwenden Sie es in einer kontrollierten Weise, um Ihren Verkehr zu testing.

    Sie können tcptrace , um die pcap-file in separate Anfragen umzuwandeln, die dann mit netcat wiedergegeben werden können. Hier ist ein Beispiel:

     tcpdump -s 0 port http -i en0 -w dump.pcap tcptrace -e dump.pcap cat *.dat | nc -v <IP_OF_YOUR_TEST_HOST> 

    Der zweite Schritt könnte zu viele fileen für * korrekt funktionieren. Verwenden Sie in diesem Fall eine for-loop für den dritten Befehl:

     for file in $(ls | grep .dat); do cat $file | nc -v <IP_OF_YOUR_TEST_HOST>; done 

    Beachten Sie, dass dies möglicherweise langsamer als Ihr ursprünglicher Verkehr ist.

    GoReplay ist für die Erfassung von Produktionsverkehr und die Wiedergabe in Testumgebungen konzipiert. Weitere Informationen finden Sie unter https://goreplay.org/ oder https://github.com/buger/goreplay/wiki .

    Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.