Come Utilizzare Wireshark Filtri su Linux

0
48
Inara Prusakova/Shutterstock

Wireshark è un mondo di classe analizzatore di pacchetti disponibili su Linux, Windows e macOS. I suoi filtri sono flessibile e sofisticato, ma a volte, un controsenso. Vi spieghiamo i “trucchi” è necessario essere alla ricerca di.

L’Analisi dei pacchetti con Morso Reale

Wireshark è uno dei gioielli del mondo open-source. Si tratta di un software di classe mondiale strumento, utilizzato da professionisti e amatori di diagnosticare e risolvere problemi di rete. Gli sviluppatori di Software utilizzano per individuare e caratterizzare i bug nelle comunicazioni di routine. I ricercatori di sicurezza usate per catturare e scorporare le attività dannose su di una rete.

Un flusso di lavoro tipico è quello di eseguire Wireshark in modalità di Cattura, in modo che registri il traffico di rete attraverso una delle interfacce di rete sul computer. I pacchetti di rete vengono visualizzate in tempo reale, come vengono catturati. Tuttavia, è nel post-cattura di analisi che il granulare dettaglio di ciò che sta succedendo in rete è rivelato.

I pacchetti catturati sono chiamati una traccia. Quando la registrazione è completa, la traccia può essere rafforzata attraverso, pacchetto per pacchetto. Siete in grado di controllare qualsiasi pacchetto in ogni minimo dettaglio, una mappa di rete “conversazioni” tra i dispositivi, e utilizza i filtri per includere (o escludere) i pacchetti di analisi.

Wireshark le capacità di filtraggio sono secondo a nessuno, con grande flessibilità e capacità di risoluzione. Ci sono sottigliezze per la loro sintassi che rendono più semplice la scrittura di un filtro e di ottenere un risultato che non soddisfa le vostre aspettative.

Se non riesci a comprendere il funzionamento dei filtri in Wireshark, non otterrete mai fuori prima marcia e acceleratore la capacità del software.

L’Installazione Di Wireshark

Quando si installare Wireshark, viene chiesto se qualcuno utilizza un account non-root dovrebbe essere in grado di catturare le tracce di rete. Dire di no a questa potrebbe essere una idea interessante. Non si potrebbe desiderare a tutti di essere in grado di vedere ciò che sta accadendo sulla rete. Tuttavia, l’installazione di Wireshark, in modo che solo quelli con i privilegi di root può usare tutti i suoi componenti verrà eseguito con privilegi elevati autorizzazioni.

Wireshark contiene oltre 2 milioni di linee di codice complicato, e interagisce con il computer al livello più basso. Migliori pratiche di sicurezza consigliare il minimo possibile di codice deve essere eseguito con privilegi elevati, specialmente quando il suo esercizio ad un livello basso.

E ‘ molto più sicuro per eseguire Wireshark con un account utente normale. Possiamo ancora stabilire chi ha la capacità di eseguire Wireshark. Questo richiede un paio di passaggi di installazione, ma è il modo più sicuro per procedere. L’acquisizione dei dati elementi di Wireshark verrà eseguito con privilegi elevati, ma il resto di Wireshark viene eseguito come un processo normale.

Per avviare l’installazione su Ubuntu, tipo:

sudo apt-get install wireshark

Su Fedora, tipo:

sudo dnf installare wireshark

Su Manjaro, utilizzare questo comando:

sudo pacman -Syu wireshark-qt

Durante l’installazione, viene visualizzata la seguente schermata, in cui si consiglia di non eseguire Wireshark come root. Premere il tasto Tab per spostare il rosso per evidenziare “OK” e premere la barra spaziatrice.

Nella schermata successiva, premere il tasto Tab per spostare il rosso per evidenziare “<SÌ>” e premere la barra spaziatrice.

Per eseguire Wireshark, è necessario essere un membro del “wireshark” del gruppo, che viene creato durante l’installazione. Questo consente di controllare chi può usare Wireshark. Chi non è in “wireshark” gruppo non è possibile eseguire Wireshark.

Per aggiungere il proprio nome al “Wireshark” gruppo di usare questo comando:

sudo usermod -a-G wireshark $UTENTE

Per il nuovo gruppo di appartenenza abbiano effetto, è possibile uscire e rientrare, o utilizzare questo comando:

newgrp wireshark

Per vedere se sei in un nuovo gruppo e di utilizzare i gruppi di comando:

gruppi

Si dovrebbe vedere “wireshark” nell’elenco dei gruppi.

A Partire Wireshark

È possibile avviare Wireshark con il comando riportato di seguito. La e commerciale (&) lancia Wireshark come attività in background, il che significa che si può continuare a utilizzare la finestra del terminale. Puoi anche chiudere la finestra del terminale e Wireshark continuerà a funzionare.

Digitare il seguente:

Wireshark &

CORRELATI: Come gestire e Controllare i Processi in Background su Linux

Wireshark viene visualizzata l’interfaccia. L’interfaccia di rete dispositivi presenti nel tuo computer sono elencati, insieme con alcune built-in pseudo-dispositivi.

Una linea ondulata accanto a un’interfaccia significa vivere e il traffico di rete che passa attraverso di esso. Una linea piatta che significa che non c’è nessuna attività sull’interfaccia. Il primo elemento in questo elenco di “enp0s3,” la connessione via cavo per il computer e, come previsto, mostra attività.

Per avviare l’acquisizione di pacchetti, possiamo fare clic destro su “enp0s3,” e quindi selezionare “Start Capture” nel menu contestuale.

Puoi impostare dei filtri per ridurre la quantità di traffico Wireshark cattura. Si preferisce catturare tutto e filtrare qualsiasi cosa che noi non vogliamo vedere quando si fa un’analisi. In questo modo, sappiamo tutto quello che è successo è nella traccia. Non vuoi inavvertitamente perdere un evento di rete che spiega la situazione che si sta studiando, a causa dei tuoi filtro di acquisizione.

Naturalmente, per reti con alto traffico, le tracce possono rapidamente diventare molto grande, in modo che il filtro a catturare senso in questo scenario. O forse si preferisce in questo modo.

Si noti che la sintassi per i filtri di acquisizione è leggermente diversa rispetto a quella per il display.

Le icone evidenziate nell’immagine sopra indicano i seguenti, da sinistra a destra:

  • Pinna di squalo: Se questo è blu, fai clic per avviare un pacchetto di cattura. Se Wireshark è l’acquisizione di pacchetti, questa icona sarà visualizzata in grigio.
  • Piazza: Se questo è il rosso, fai clic per interrompere l’esecuzione di un pacchetto di cattura. Se Wireshark non è l’acquisizione di pacchetti, questa icona sarà visualizzata in grigio.
  • Pinna di squalo con la freccia circolare: Se è verde, fai clic per interrompere l’esecuzione di traccia. Questo ti dà la possibilità di salvare o scartare i pacchetti catturati, e riavviare la traccia. Se Wireshark non è l’acquisizione di pacchetti, questa icona sarà visualizzata in grigio.

L’analisi della Traccia

Cliccando sul quadrato rosso icona per interrompere l’acquisizione dei dati in modo da poter analizzare i pacchetti catturati nella traccia. I pacchetti sono presentati in ordine di tempo, con codifica a colori, secondo il protocollo del pacchetto. I dettagli dell’evidenziato pacchetto vengono visualizzati in due riquadri inferiori in Wireshark interfaccia.

Un modo semplice per rendere la lettura della traccia più facile è quello di avere Wireshark fornire nomi significativi per l’indirizzo IP sorgente e destinazione dei pacchetti. Per fare questo, fare clic su Visualizza > Risoluzione di un Nome e selezionare “Risoluzione degli Indirizzi di Rete.”

Wireshark si tenta di risolvere il nome dei dispositivi inviati e ricevuti ogni pacchetto. Non sarà in grado di identificare ogni dispositivo, ma chi può vi aiuterà a leggere la traccia.

Scorrere il display verso sinistra si rivelano più colonne sulla destra. La colonna info mostra qualsiasi informazione Wireshark è in grado di rilevare il pacchetto. Nell’esempio riportato di seguito, vediamo alcune richieste di ping e risposte.

Per impostazione predefinita, Wireshark visualizza tutti i pacchetti nell’ordine in cui sono state tracciate. Molti dispositivi di inviare pacchetti di avanti e indietro contemporaneamente. Questo significa che una singola conversazione tra i due dispositivi è probabile che i pacchetti da altri interlacciati tra loro.

Per esaminare una singola conversazione, è possibile isolare dal protocollo. Il protocollo per ogni pacchetto viene mostrato nella colonna protocollo. La maggior parte dei protocolli vedrai appartengono al TCP/IP famiglia. È possibile specificare l’esatta protocollo o utilizzo di Ethernet come una sorta di “minestrone”.

Fare clic su qualsiasi dei pacchetti in sequenza che si desidera esaminare, e quindi fare clic su Filtro Conversazione > Ethernet. Nell’esempio riportato di seguito, abbiamo scelto un tavolo da ping pacchetto di richiesta.

La sequenza di pacchetti viene mostrato senza che gli altri tra di loro, come Wireshark auto-generato un filtro per fare questo. È visualizzato nella barra di filtro e evidenziato in verde, che indica la sintassi del filtro è corretto.

Per eliminare il filtro, fare clic su “X” sulla barra di filtro.

Creazione Di Filtri Personalizzati

Proviamo a mettere un semplice filtro nella barra di filtro:

ip.addr == 192.168.4.20

Questo consente di selezionare tutti i pacchetti che sono stati inviati o ricevuti dal dispositivo con indirizzo IP 192.168.4.20. Notare il doppio segni di uguale ( = = ), senza spazio tra di loro.

Per vedere i pacchetti inviati da un dispositivo (la fonte), è possibile utilizzare ip.src; per vedere i pacchetti che sono arrivati a un dispositivo (la destinazione), è possibile utilizzare ip.l’ora legale, come mostrato di seguito:

ip.dst == 192.168.4.20 && ip.src == 192.168.4.28

Nota l’utilizzo di un doppio e commerciale ( & ) per indicare la logica “and”. Questo filtro consente di cercare i pacchetti che arrivati a 192.168.4.20 da 192.168.4.28.

Nuove persone per Wireshark filtri spesso penso che un filtro come questo di catturare tutti i pacchetti tra due indirizzi IP, ma non è questo il caso.

Ciò che effettivamente non è il filtro, tutti i pacchetti o dall’indirizzo IP 192.168.4.20, indipendentemente da dove sono venuti, o a cui sono stati inviati. Fa lo stesso con tutti i pacchetti di un indirizzo IP 192.168.4.28. Per dirla più semplicemente, filtra tutto il traffico in entrata o dall’indirizzo IP.

Si può guardare per attività su altri protocolli, troppo. Ad esempio, è possibile digitare questo filtro di guardare per le richieste HTTP:

http.richiesta

Per escludere i pacchetti che sia venuto o sono stati inviati a un dispositivo, utilizzare un punto esclamativo (!) e racchiudere il filtro in parentesi [()]:

!(ip.addr == 192.168.4.14)

Questo filtro esclude tutti i pacchetti inviati o ricevuti da 192.168.4.14.

È un controsenso, in quanto il filtro contiene l’operatore di uguaglianza (==). Si potrebbe aspettare devi digitare questo filtro, in questo modo:

ip.addr !=192.168.4.14

Tuttavia, questo non funziona.

È anche possibile cercare le stringhe all’interno di pacchetti, dal protocollo. Questo filtro di ricerca Transmission Control Protocol (TCP) i pacchetti che contengono la stringa “youtube”:

tcp contiene youtube

Un filtro che cerca di ritrasmissione è utile come un modo per controllare se c’è un problema di connettività. Ritrasmissioni sono i pacchetti che vengono inviati nuovamente, perché essi sono stati danneggiati o persi durante la trasmissione iniziale. Troppi ritrasmissioni indica una connessione lenta o un dispositivo lento a rispondere.

Digitare il seguente:

tcp.analisi.ritrasmissione

Nascita, Vita, Morte, e la Crittografia

Una rete di connessione tra i due dispositivi viene avviato ogni volta che una rubrica altri e invia un SYN (sincronizzazione) pacchetto. Il dispositivo ricevente invia un ACK (riconoscimento) del pacchetto. Indica se si accetta la connessione inviando un pacchetto SYN.

SYN e ACK sono in realtà due bandiere nello stesso pacchetto. L’originale dispositivo riconosce il SYN mediante l’invio di un ACK, e quindi i dispositivi di stabilire una connessione di rete.

Questo è chiamato il three-way handshake:

A -> SYN -> B

A <- SYN, ACK <- B

A -> ACK -> B

Nella schermata qui sotto, qualcuno sul computer “nostromo.locale” fa un Secure Shell (SSH) la connessione al computer “ubuntu20-04.locale”. Il three-way handshake è la prima parte della comunicazione tra i due computer. Si noti che le due righe che contengono i pacchetti SYN sono colorati in grigio scuro.

Scorrendo il display per visualizzare le colonne a destra rivela il SYN , SYN/ACK, e ACK i pacchetti di handshake.

Si noterà che il pacchetto di interscambio tra i due computer si alterna tra il protocollo TCP e protocolli SSH. I pacchetti di dati vengono trasmessi attraverso la connessione SSH cifrate, ma il messaggio di pacchetti (come ACK viene inviato tramite TCP. Staremo a filtrare i pacchetti TCP poco.

Quando la connessione di rete non è più necessario, è scartato. La sequenza del pacchetto di interruzione di una connessione di rete è un four-way handshake.

Un lato invia una PINNA (finire) il pacchetto. L’altra estremità invia un ACK per confermare la PINNA, e quindi invia una PINNA per indicare che si accetta la connessione dovrebbe essere eliminato. Il primo lato invia un ACK per la PINNA appena ricevuto, e la connessione di rete viene poi smontato.

Ecco ciò che il four-way handshake, assomiglia a questo:

A -> FIN -> B

A <- FIN, ACK <- B

A -> ACK -> B

A volte, l’originale FIN piggyback su un pacchetto ACK che stava per essere inviato ad ogni modo, come mostrato di seguito:

A -> PINNA, ACK -> B

A <- FIN, ACK <- B

A -> ACK -> B

Questo è ciò che accade in questo esempio.

Se vogliamo vedere solo il traffico SSH per questa conversazione, si può utilizzare un filtro che consente di specificare il protocollo. Abbiamo digitare il seguente per vedere tutto il traffico attraverso il protocollo SSH da e per il computer remoto:

ip.addr == 192.168.4.25 && ssh

Questo filtra tutto, tranne il traffico SSH e da 192.168.4.25.

Altre Utili Modelli Di Filtro

Quando stai scrivendo un filtro nel filtro, bar, rimarrà rosso fino a quando il filtro è sintatticamente corretta. Di esso si accende in verde quando il filtro è corretta e completa.

Se si digita un protocollo, ad esempio, tcp, ip, udp, o shh, seguito da un punto (.), viene visualizzato un menu. Vi elenco i recenti filtri contenuti del protocollo, e tutti i campi che possono essere utilizzati nei filtri per il nome del protocollo.

Per esempio, con ip, è possibile utilizzare ip.addr, ip.checksum ip.src ip.dst ip.id, ip.host, e decine di altri.

Utilizzare i seguenti modelli di filtro come base di filtri:

  • Per mostrare solo il protocollo HTTP pacchetti: http
  • Per visualizzare solo i pacchetti di protocollo DNS: dns
  • Per visualizzare solo i pacchetti TCP con 4000 come origine o destinazione porta: tcp.porta==4000
  • Per visualizzare tutti i pacchetti TCP reset: http.richiesta
  • Filtro, ARP, ICMP, DNS e pacchetti: !arp (o icmp o dns)
  • Per visualizzare tutte le ritrasmissioni in una traccia: tcp.analisi.ritrasmissione
  • Per filtrare le bandiere (come SYN FIN): È necessario impostare un valore di confronto per questi: 1 significa che il flag è impostato, e 0 significa che non è così. Così, un esempio potrebbe essere: tcp.le bandiere.syn == 1.

Abbiamo coperto alcuni dei principi fondamentali e gli usi dei filtri di visualizzazione, ma, ovviamente, c’è molto di più.

Per apprezzare la portata e la potenza di Wireshark filtri, essere sicuri di controllare la sua linea di riferimento.

CONTINUA A LEGGERE

  • “6 Consigli per Organizzare il Vostro iPhone Apps
  • “Come Utilizzare Wireshark Filtri su Linux
  • “Windows 10 Sarà Presto Mostra Margini Schede del Browser in Alt+Tab
  • “Come senza fili, Collegamento a Stadi Controller a un Dispositivo Android
  • “Come Riaprire Microsoft Outlook Conversazione di Vista, Dopo l’Ordinamento di una Cartella