Sniffing di pacchetti usando Raw Socket in Linux in C
-
08-07-2019 - |
Domanda
Devo scrivere uno sniffer di pacchetti in Linux che rilevi i pacchetti HTTPS inviati e salvare l'URL dalla richiesta. Ho trovato il codice per questo in maniaco della sicurezza e l'ho eseguito . Questo codice viene eseguito e annusa solo il pacchetto ricevuto, ma ho bisogno di ottenere il pacchetto inviato nello sniffer. Come posso ottenere il pacchetto inviato in questo codice?
Non riesco a usare nessuna libreria come libcap (vietato). Il codice è: sniffer.c
Soluzione
Dovresti usare ETH_P_ALL invece di ETH_P_IP come protocollo. ETH_P_IP ascolta solo i pacchetti IP in entrata.
Altri suggerimenti
Con libpcap appropriato DNET utilizzo Dovresti essere in grado di ottenere tutta la rete traffico sul livello desiderato (protocollo - 5) (anche questo in uscita). Ma dovresti già saperlo.
Devi consultare i manuali delle librerie sopra e trovare il filtro appropriato.