I experience a behavior on my linux machine that I cannot explain. I see incoming ARP requests but they are not answered by my machine. When I plug the Ethernet cable into a Windows 10 machine those ARP requests are being answered.
I also noticed that I cannot capture the traffic on this device when I try to nmap the target 192.168.1.106
. I see incoming ARP requests but no outgoing packets at all. When I switch the target (and the interface) I do see outgoing traffic from nmap. I do not know whether this has something to do with the ARP issue. I just had this idea because without an ARP response how is a nmap scan supposed to work...
I have a Ubuntu 16.04 machine with a few interfaces. I set the IPs for those myself. The device sending out ARP requests is connected to the enp0s25
interface. The output of the ifconfig
command produces this:
enp0s25 Link encap:Ethernet HWaddr b0:5a:da:ee:38:cd
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::3f90:bbf0:85e2:6423/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6314 errors:0 dropped:0 overruns:0 frame:0
TX packets:603 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:404096 (404.0 KB) TX bytes:50704 (50.7 KB)
Interrupt:20 Memory:d2100000-d2120000
enx00249b1963d4 Link encap:Ethernet HWaddr 00:24:9b:19:63:d4
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::5ecb:670e:5bd1:7ac1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:393532 errors:0 dropped:0 overruns:0 frame:0
TX packets:393429 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19874193 (19.8 MB) TX bytes:30957637 (30.9 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:141121 errors:0 dropped:0 overruns:0 frame:0
TX packets:141121 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7408865 (7.4 MB) TX bytes:7408865 (7.4 MB)
wlp61s0 Link encap:Ethernet HWaddr a4:c4:94:5c:a3:aa
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2600:1007:b000:743e:265b:1fb5:bb6c:2e5/64 Scope:Global
inet6 addr: fe80::e5a4:4dcb:ed06:e981/64 Scope:Link
inet6 addr: 2600:1007:b00e:643d:244c:2307:f4ac:1b16/64 Scope:Global
inet6 addr: 2600:1007:b000:743e:244c:2307:f4ac:1b16/64 Scope:Global
inet6 addr: 2600:1007:b00e:643d:c233:8501:765e:d4f6/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14764 errors:0 dropped:0 overruns:0 frame:0
TX packets:6658 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13720070 (13.7 MB) TX bytes:822384 (822.3 KB)
When I set up tcpdump
this is a snippet of the output:
14:58:49.666404 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:50.676781 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:52.666512 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:54.666590 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:55.676786 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:57.666634 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:58:59.666768 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:00.676963 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:02.666846 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:04.666932 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:05.677240 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:07.667045 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
14:59:09.667172 ARP, Request who-has 192.168.1.100 (Broadcast) tell 192.168.1.106, length 42
I have already done some research but could not find (or understand) what I need to solve my problem. If that helps this is the output of the commands ip rule show
and ip route show table local
. I found this on another question on this site but I was not able to use this information.
john@john:~$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
john@john:~$
john@john:~$
john@john:~$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.1.0 dev wlp61s0 proto kernel scope link src 192.168.1.2
broadcast 192.168.1.0 dev enx00249b1963d4 proto kernel scope link src 192.168.1.99
broadcast 192.168.1.0 dev enp0s25 proto kernel scope link src 192.168.1.100
local 192.168.1.2 dev wlp61s0 proto kernel scope host src 192.168.1.2
local 192.168.1.99 dev enx00249b1963d4 proto kernel scope host src 192.168.1.99
local 192.168.1.100 dev enp0s25 proto kernel scope host src 192.168.1.100
broadcast 192.168.1.255 dev wlp61s0 proto kernel scope link src 192.168.1.2
broadcast 192.168.1.255 dev enx00249b1963d4 proto kernel scope link src 192.168.1.99
broadcast 192.168.1.255 dev enp0s25 proto kernel scope link src 192.168.1.100