User Tools

Site Tools


doc:appunti:android:android_tcpdump_netstat_ss

This is an old revision of the document!


Diagnosi traffico TCP su Android (con root)

Su un dispositivo Android che abbia l'accesso root abilitato, se vogliamo scoprire quale app sta facendo traffico su una porta TCP, possiamo seguire questa procedura.

Anzitutto verifichiamo se c'è del traffico con tcpdump, in questo esempio cerchiamo del traffico IMAP su porta 143 oppure 993:

# tcpdump -i wlan0 -n 'port 143 or port 993'
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:13:52.625229 IP 10.0.1.225.38950 > 168.119.254.82.143: Flags [S], seq 66565344, ...
15:13:52.631946 IP 10.0.1.225.38952 > 168.119.254.82.143: Flags [S], seq 2647617764, ...

Se una sessione TCP è in corso, con netstat è possibile vedere anche il nome del programma che l'ha avviata:

# netstat -a -n -p | grep ':143'
tcp  0  0 10.0.1.225:39364  168.119.254.82:143  ESTABLISHED 12273/com.b44t.messenger
tcp  0  0 10.0.1.225:48700  78.47.39.235:143    ESTABLISHED 12273/com.b44t.messenger

Se invece la connessione non è andata a buon fine (il processo ha tentato la connessione, ma ha fallito) è possibile vedere il socket aperto con ss (socket statistics):

# ss -ntp | grep ':143'
SYN-SENT 0 1 10.0.1.225:48566  78.47.39.235:143    users:((".b44t.messenger",pid=12273,fd=136))
SYN-SENT 0 1 10.0.1.225:39022  168.119.254.82:143  users:((".b44t.messenger",pid=12273,fd=88))
doc/appunti/android/android_tcpdump_netstat_ss.1787752269.txt.gz · Last modified: by niccolo