Running "tcpdump" on Android shell gives error: "not executable: 32-bit ELF file" I'm trying to install tcpdump to monitor network traffic. I've tried multiple versions from link1 and link2. Whenever I try to execute I get an error:

~$ adb connect 192.168.1.10:5555
~$ adb root
~$ adb push tcpdump /data/local
~$ adb shell
~$ su
~# cd /data/local
~# chmod 777 tcpdump
~# ./tcpdump -s 0 -v -w out.pcap
/system/bin/sh: ./tcpdump: not executable: 32-bit ELF file


Any help is appreciated.

EDIT:

~$ uname -m
i686
You are on x86 architecture but trying to run a tcpdump binary built for ARM architecture. Link2 provides source code and link1 a 32-bit ARM binary which won't work obviously. You need a 32-bit executable for Intel / AMD processors which you can build from source code, or try this one.

RELATED: ARM vs. x86.