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
~$ 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.


~$ uname -m
  • 1
    using the wrong tcpdump ... Use a 64bit version ( arm64 ) Commented Apr 10, 2019 at 0:52
  • @Zillinium Where do you recommend I get a 64-bit ? Can't seem to find any
    – Deffjm
    Commented Apr 11, 2019 at 2:15

1 Answer 1


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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .