Unicondor ha scritto:Perche il comando netstat mostra gli ip "locali" e quelli "foreign", quindi dovrebbe riconoscere il primo ACK_SYN mandato dall'ip e riconoscere quale dei due ip abbia mandato per prima tale segnale...
netstat ti mostra semplicemente lo stato delle connessioni, anche le connessioni in cui sei tu a fare da server dovrebbero comparire con netstat. Quindi a mio avviso il comando che hai postato sopra non ti da solo le connessioni in uscita, ma tutte le connessioni.
Se vuoi monitorare le porte come fa conky dovresti escogitare qualcosa di diverso.
Ad esempio dovresti beccare tutti i sever che hai attivi, quindi scovi le porte su cui ascoltano, e poi vedere quali thread usano quella porta per colloquiare con l'esterno, quelle connessioni sono inbound. Ti mostro la parte l'output di:
che ci interessa:
Codice: Seleziona tutto
local_address rem_address st
0100007F:0050 00000000:0000 0A
0100007F:0050 0100007F:E812 01
0100007F:E812 0100007F:0050 01
0100007F:0050 0100007F:E80B 06
I socket LISTEN hanno '0A' come stato, quindi io ho un server attivo sulla porta '0050' (esadecimale, in decimale sarebbe la '80', il server apache). I socket ESTABLISHED hanno '01' come stato, mentre quelli in TIME_WAIT hanno '06', ha te interessano quelli con '01'. La seconda riga quindi indica che c'è una connessione dall'esterno verso il mio server apache, l'indirizzo esterno è '0100007F:E812', ovvero sono sempre io (ricorda che gli indirizzi sono memorizzati a coppie di numeri in esadecimale da destra verso sinistra, quindi sarebbe 7F000001, ovvero 127.0.0.1) con la porta 'E812' -> '59410'.
Se poi prendi tutte le righe con stato '01' e ci elimini quelle in cui è un tuo server a gestirle, le altre sono tutto connessioni outbound (ovviamente, la 3° riga indica che ho una connessione verso "l'esterno", ovvero il mio server apache).
Questo lavoro va fatto sia con il file /proc/net/tcp, che con quello /proc/net/tcp6, e volendo anche sui file udp, se ti interessa anche quel protocollo.
Oppure usi:
estrapolando le informazioni che ti servono.
Questo sarebbe un modo

,
Spina