Acquisizione (solo 1x) Richiesta POST HTTP [tcpdump]

2

Ogni tanto;
Mi piace aumentare tcpdump e osservare il traffico di rete mentre i pacchetti scorrono.

Ad esempio:

user@host:~$ sudo tcpdump -Aevvv

Analizzerà & stampa tutto il traffico di rete locale sullo standard output, in tempo reale, anziché scrivere (salvare) su file. È ottimo per dare una rapida occhiata a ciò che accade sulla rete locale.

Non è raro trovare pacchetti che arrivano in grandi quantità / a velocità superiori a quelle che è comodo analizzare e / o leggere. In questi casi, di solito indico un host di destinazione desiderato in questo modo:

user@host:~$ sudo tcpdump -Aevvv host security.stackexchange.com

Ovviamente, l'host di destinazione desiderato in questo esempio è security.stackexchange.com . Questo non è altro che essere il primo a venire in mente e può, naturalmente, essere impostato su qualsiasi host che ti piace. L'utilizzo del filtro host può ripulire i risultati in modo abbastanza preciso, ma vorrei fare un ulteriore passo avanti e specificare alcuni HTTP tipi di richieste Web come TESTA, OTTIENI, POST , & così via.

Per continuare nello spirito del nostro esempio, vorrei specificare una regola del filtro dei pacchetti tcpdump per l'acquisizione di richieste POST HTTP in modo da dimostrare cosa succede dietro le quinte quando invii contenuti a un host remoto come security.stackexchange.com .

Questa è la mia domanda: (Quando si utilizza tcpdump ..)
Come posso specificare un filtro per la richiesta POST solo pacchetti?

    
posta tjt263 20.09.2015 - 06:50
fonte

1 risposta

3

Non puoi per vari motivi:

  • tcpdump non ha idea dei protocolli a livello di applicazione.
  • Che questa è una connessione TCP che contiene un POST è nota solo dopo che l'handshake TCP è già stato fatto, ovvero si perderebbe l'impostazione della connessione o sarebbe necessario acquisire tutto e memorizzarlo da qualche parte nel caso in cui si rivelasse essere un post più tardi.
  • Possono esserci più richieste HTTP all'interno di una connessione TCP e il POST potrebbe non essere il primo.

Si noti che si potrebbe provare ad acquisire solo i pacchetti che iniziano con "POST" come proposto in una risposta diversa. Ma questo catturerà anche altri pacchetti che iniziano con POST (e non solo le richieste POST), non catturerà il carico utile nella maggior parte dei casi (solo se è veramente piccolo e contenuto nello stesso pacchetto) e non catturerà la risposta.

Invece consiglio di catturare tutto il traffico che potrebbe contenere un POST e poi filtrare il traffico catturato usando wireshark / Tshark, vedi link

    
risposta data 20.09.2015 - 07:20
fonte

Leggi altre domande sui tag