Qualcuno conosce un modo semplice per chiedere a Linux di "visualizzare ogni pacchetto internet da/per google chrome" o "visualizzare ogni pacchetto internet da/per il processo telnet con PID 10275"?Come posso acquisire i pacchetti di rete per PID?
L'esempio telnet non è troppo utile, dal momento posso solo usare wireshark o tcpdump per vedere tutte le conversazioni che coinvolgono TCP porta 23. Questo, e nessuno usa più telnet. Ma sniffare tutti i pacchetti da/verso applicazioni complesse che usano molte porte sembra una cosa utile.
ho trovato alcune risposte relative ad esplorare modi diversi di corroborare porte e PID (o programmi nomi) e simili, ma nulla di pacchetti
- How to tie a network connection to a PID without using lsof or netstat?
- How I can get ports associated to the application that opened them?
- How to do like "netstat -p", but faster?
Sembra che qualcuno potrebbe essere stato disposto a pagare per questa risposta qualche tempo fa:
NetHogs è utile per vedere rapidamente quali programmi stanno creando il traffico attraverso un'interfaccia, ma non hanno un modo per catturare i pacchetti.
Hrm, dovrei chiedere a serverfault, invece? –
Questo probabilmente appartiene a SuperUser, in realtà. Una domanda interessante È possibile utilizzare WireShark per filtrare le richieste HTTP, ma è necessario collegare i driver del kernel per filtrare i pacchetti basati su PID – Bojangles
È un problema un po 'complesso: i socket non sono di proprietà dei PID; puoi passarli da un processo all'altro. Se il processo A apre un socket, può passarlo per elaborare B e poi uscire - se stai filtrando sul processo PID di A, cosa succede ora? – bdonlan