2017-11-20 3 views
0
Apache (ec2) --- Client (ELB) 
|      | 
|-------[1.]FIN------->| 
|      | 
|<-----[2.]FIN+ACK-----| 
|      | 
|---------ACK--------->| 
|      | 

Mit Wireshark würde Ich mag nur das Paket „[1] FIN“ oben beschrieben Abbildung extrahieren, die durch 80-Server des ausgesendet wird Port und die FIN-Sequenz "initiiert".Wireshark Filter für Pakete, die von dem serverseitigen FIN (Verbindung schließen) Sequenz initiiert

Ich habe einen Filter versucht:

tcp.flags.fin & & tcp.srcport == 80

aber der Filter auch die extra „extrahiert [2.] FIN + ACK "Pakete. Wie kann ich nur [1.] Paket unter Berücksichtigung von "FIN" Sequenzinitiator herausfiltern?

Hintergrund:

Ich kämpfe mit AWS ELB und EC2 (Apache) von 504 Fehlern zu befreien, wobei "FIN - FIN/ACK - ACK" Sequenz durch die Back-End-Apache-Seite initiiert wird. In einer solchen Umgebung FIN Sequenz von ELB initiiert ist ideal als AWS offiziellen sais: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html

Nach https://aws.amazon.com/jp/premiumsupport/knowledge-center/504-error-classic/, habe ich versucht, MPM Wechsel ersetzen (event -> Arbeiter) und Deaktivieren TCP_DEFER_ACCEPT, die 504 Fehler leicht reduziert. Die Situation ist jedoch nicht sehr verbessert. Der Punkt, den ich denke, wird darin bestehen, die Ursache zu finden, die apache die aktiv-schließende Sequenz einleitet. Daher versuche ich zunächst, das initiierende FIN-Paket aus dem Apache zwischen maximal 512 parallelen Verbindungen zwischen ELB und EC2 (Apache) zu extrahieren.

+0

Die Ursache ist der serverseitige Ablauf einer HTTP-Verbindung, die beibehalten wird. – EJP

+0

Apache KeepaliveTimeout ist auf 120 gesetzt, während ELB Idle Timeout auf 60 gesetzt ist, was nicht der Fall ist. –

Antwort

0

tcp.flags.fin == 1 & & tcp.flags.ack == 0

  • Ein Filter wie tcp.flags.fin nur überprüft das Vorhandensein des Parameters. Um bestimmte Werte eines Parameters zu finden, wird ein Vergleich benötigt. Deshalb finden Filter wie "tcp" TCP-Pakete.
  • Die Filterübereinstimmung für FIN schließt nicht aus, dass andere Flags gesetzt oder nicht gesetzt sind. Daher wird für jedes Flag, das Teil des Filters sein soll, ein Vergleich benötigt.
Verwandte Themen