Un flusso, quattro confini: trovare l’ultimo pacchetto
Un rapporto sui pacchetti richiede un flusso controllato e punti di osservazione confrontabili. Una cattura assente o una conferma verbale non identificano il salto in cui il pacchetto si perde.
Una parte dice di aver inviato il traffico; l’altra dice che non è arrivato da nessuna parte. Questa coppia di affermazioni sembra una contraddizione e di solito è solo due misurazioni diverse. Un conteggio dei pacchetti, un registro del firewall e una cattura descrivono livelli diversi, e confrontarli senza etichette produce un sospetto invece di una posizione. Costruite il rapporto attorno a un flusso e ai suoi punti di osservazione.
Un contatore senza contesto prova poco
Un gateway che segnala byte in uscita non è prova che l’estremità remota abbia ricevuto una richiesta specifica. Il contatore può includere altri flussi, altri momenti o un altro livello di incapsulamento. Un contatore che sale mentre la destinazione non vede nulla può comunque essere corretto, perché misurava un’altra domanda. Prima di confrontare qualcosa, fissate il flusso, la finestra e il livello.
Due numeri di livelli diversi possono divergere onestamente. La divergenza è l’inizio dell’indagine, non la conclusione.
Etichettate ogni punto di osservazione
Per ogni osservazione, registrate il dispositivo, l’interfaccia o l’hook, la direzione, il riferimento dell’orologio e se mostra traffico interno o il trasporto esterno. Un registro del firewall sull’host e una cattura sull’uplink sono prove diverse anche quando le separano secondi. L’etichetta è ciò che consente a un altro ingegnere di riprodurre la vista.
Mantenete visibile il problema dell’orologio. Gli orologi derivano, e un timestamp preso su un host potrebbe non essere direttamente confrontabile con un altro. Se gli host non possono essere sincronizzati, delimitate il tentativo con timestamp di entrambi e usate l’ordine invece del valore assoluto. Annotate lo scostamento misurato invece di regolare gli orari in silenzio.
Fate corrispondere i campi che il punto espone davvero
Confrontate indirizzi e campi di protocollo nei punti che li espongono davvero. Tenete conto della traduzione deliberata, perché una tupla riscritta è ancora la stessa conversazione. Per un test Echo IPv4 autorizzato, la definizione RFC 792 fornisce campi di identificatore e sequenza che aiutano ad abbinare richieste e risposte. Conservate anche gli indirizzi e la finestra, poiché un valore di sequenza da solo non è un’identità unica.
tcpdump -ni eth0 -c 20 'host 198.51.100.20 and icmp'
tcpdump -ni tun0 -c 20 'host 10.90.0.5 and tcp port 443'
Dove il tratto esterno è cifrato, tenete la conversazione con il peer e la sua direzione in un record separato. Non c’è da aspettarsi che l’identificatore Echo interno sopravviva all’esterno nella stessa forma. I conteggi esterni e interni non devono essere confrontati senza dichiarare la rappresentazione.
Segnalate l’intervallo mancante, non un sospetto
Un’osservazione mancante è una prova limitata, non la prova di una caduta su quel dispositivo. I filtri, la posizione della cattura, i dati di cattura persi e una finestra che ha mancato il tentativo producono tutti un record incompleto. Dite cosa manca e tra quali confini. Anche un’assenza ha bisogno di una scadenza, quindi indicate per quanto tempo avete osservato e cosa sarebbe dovuto apparire.
L’affermazione dell’altra parte di aver inoltrato il traffico è contesto, mai un’osservazione. Consegnate il flusso, i timestamp, i confini etichettati e un esempio ristretto. Mantenete il rapporto abbastanza breve da far risaltare l’osservazione richiesta. Questo trasforma la richiesta successiva in una misurazione precisa invece che in un’accusa.
Mettete la misurazione richiesta in una frase. Poi smettete di scrivere.