Programs can access the Internet in a variety of ways, e.g. using libraries such as libcurl. You can detect those using
ldd and check which symbols are being used in the binary using
objdump again, and read the documentation to figure out what the various functions do.
But if you’re trying to check a hostile binary, that won’t be enough either: the binary could call the kernel using system calls directly to open sockets etc., or it could load libraries using
dlopen(3) to make it harder to detect their use.
If you want to run the binary without network access at all, you can
unshare it from the network namespace:
unshare -n binary
You need to do this as root though, so you might want to
su back to some other user (perhaps not your own either, if it’s a hostile binary):
unshare -n su sacrificialuser -c binary
As pointed out by Gilles, that doesn’t protect you from other side-effects the execution of the binary might have, including setting up a cronjob which accesses the network on the executable’s behalf for whatever purpose.
Alternatively, you could set up
nftables rules to drop (and log) all network traffic from the binary; or better yet, set up a VM and run the binary inside that (and then stop the VM).