Wo finde ich die TCP-Daten (unter HTTP) im Linux-Kernel?

Ich versuche, die Daten aus dem HTTP-Stream mit TCP im Linux-Kernel zu lesen. Ich kann die meisten Daten von @ erhaltskb_buff Hie. Wenn der Server jedoch Daten ohne Anforderungen an den Client überträgt, werden die Daten nicht in den Benutzerbereich kopiert, sodass ich sie nicht mehr finde.

Mit Wireshark kann ich die zusätzlichen Daten normalerweise als einzelnes Paket finden. Daher denke ich, dass diese Daten irgendwo in den Kernel gelangen sollten, auch wenn sie nicht vom User Space angefordert werden. Ist es möglich, alle Daten zu finden, wenn sie von der Netzwerkschnittstelle abgerufen werden, wie es Wireshark getan hat? Wenn ja, wo soll ich sie finden?

Vielen Dank! Irgendwelche Ideen sind spürbar.

BEARBEITE: Es sollte anders sein als eine andere ähnliche Frage. Ich konnte nicht einmal das @ bekommskb Instanz, die die Daten enthält, die ich benötige, weil der Client sie nicht angefordert hat. Daher werden solche Daten nicht in den Benutzerbereich kopiert. Vielen Dank, dass Sie mir diese Frage gestellt haben, aber ich muss noch das richtige @ findeskb Instanz zuerst. Ich vermute, ich sollte die Daten irgendwo abfangen, wenn sie von der Netzwerkschnittstelle abgerufen werden.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage