As aspas fazem com que o comando adb
seja passado em três argumentos:
-
shell
-
tcpdump
-
tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)
Presumivelmente, ele tenta executar o comando
tcpdump tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)
sem as aspas (como o shell na máquina em que você digitou o comando removeu as aspas) na máquina Android.
Você provavelmente pode fazer
adb shell tcpdump "'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'"
que significa que o comando adb
será passado
-
shell
-
tcpdump
-
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
para que ele tente executar o comando
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
na máquina Android.
O mesmo problema existiria, por exemplo, ssh
; o comando
ssh localhost tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
recebe os erros
bash: -c: line 0: syntax error near unexpected token '('
bash: -c: line 0: 'tcpdump tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'