I would like to display the output table of the arp command every 30 seconds, so that I can monitor Address Resolution Protocol traffic on my network.

Unfortunately arp doesn't have such option. It only prints the current content of the table once, like this:

Address                  HWtype  HWaddress           Flags Mask            Iface            ether   48:e2:44:d5:7a:97   C                     eth0              ether   c8:3a:35:49:77:48   C                     eth0

So I usually end up running arp several times manually to detect any changes in the table entries, which is not very sophisticated.

In order to automate this task, I read that the watch command allows to repeat commands automatically (1, 2, 3). Therefore I prepended watch -n 30 to arp like this:

watch -n 30 arp

However, when I run it I don't get any kind of output. The table is not even printed once.

Why is that? How can I solve this?

This answer shows a working example with nmcli dev, so I see no reason why this should not be possible to do with arp.

I am using Xubuntu 16.04 Xenial Xerus.

1 Answer 1


It should work and it indeed works here exactly as you entered it:

watch -n 30 arp

The only thing I can think of would be to look at the results of the command "export" and make sure your display isn't set to something funky.

I ran the watch command from a standard terminal shell that comes with the standard Ubuntu distribution. Nothing special here...

As a test you could try forcing an output redirect:

watch -n 5 arp >> test_file

  • After restarting my machine it works fine now. I am using Xubuntu 16.04 Xenial Xerus. Thank you. Jun 4, 2017 at 8:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.