lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 Jul 2007 11:30:01 +0300
From:	"nano bug" <linnewbye@...il.com>
To:	netdev@...r.kernel.org
Subject: source interface ping bug ?

Hello there,

I'm facing the following issue : when I try to ping using source
interface instead of a source ip address the ping utility starts to
send arp requests instead of icmp requests though the ip address I'm
pinging it's not in the subnets directly connected to my linux box.
I've noticed this situation since I upgraded from kernel 2.6.20 to
2.6.21. On 2.6.20 and lower I haven't had this problem. Now I upgraded
to 2.6.22 but it's the same. I'm using latest iproute and iputils.
Here is an output of tcpdump when I try to ping an outside ip address,
like for example www.yahoo.com, using source interface :

root@...kstar:~# uname -a
Linux darkstar 2.6.22 #1 Thu Jul 26 21:22:11 EEST 2007 i686 Pentium II
(Deschutes) GenuineIntel GNU/Linux

root@...kstar:~# ip -V
ip utility, iproute2-ss070710
root@...kstar:~#


root@...kstar:~# ip address show dev eth2
3: eth2: <BROADCAST,MULTICAST,NOTRAILERS,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast qlen 1000
   link/ether 00:90:27:0f:79:f3 brd ff:ff:ff:ff:ff:ff
   inet 86.106.19.75/23 brd 86.106.19.255 scope global eth2
root@...kstar:~# ip route get 87.248.113.14 from 86.106.19.75 oif eth2
87.248.113.14 from 86.106.19.75 via 86.106.18.1 dev eth2
   cache  mtu 1500 advmss 1460 hoplimit 64
root@...kstar:~#


root@...kstar:~/iputils# ./ping -V
ping utility, iputils-sss20070202
root@...kstar:~/iputils# ./ping -I 86.106.19.75 87.248.113.14 -c 2
PING 87.248.113.14 (87.248.113.14) from 86.106.19.75 : 56(84) bytes of data.
64 bytes from 87.248.113.14: icmp_seq=1 ttl=51 time=60.5 ms
64 bytes from 87.248.113.14: icmp_seq=2 ttl=51 time=63.2 ms

--- 87.248.113.14 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 60.574/61.924/63.274/1.350 ms
root@...kstar:~/iputils#


root@...kstar:~# tcpdump -i eth2 -vvv -n host 87.248.113.14 and host
86.106.19.75
tcpdump: listening on eth2, link-type EN10MB (Ethernet), capture size 96 bytes
01:18:09.572603 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: ICMP (1), length: 84) 86.106.19.75 > 87.248.113.14: ICMP echo
request, id 27166, seq 1, length 64
01:18:09.632861 IP (tos 0x0, ttl  51, id 6100, offset 0, flags [none],
proto: ICMP (1), length: 84) 87.248.113.14 > 86.106.19.75: ICMP echo
reply, id 27166, seq 1, length 64
01:18:10.572746 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: ICMP (1), length: 84) 86.106.19.75 > 87.248.113.14: ICMP echo
request, id 27166, seq 2, length 64
01:18:10.634951 IP (tos 0x0, ttl  51, id 8790, offset 0, flags [none],
proto: ICMP (1), length: 84) 87.248.113.14 > 86.106.19.75: ICMP echo
reply, id 27166, seq 2, length 64



using source interface :

root@...kstar:~/iputils# ./ping -I eth2 87.248.113.14
PING 87.248.113.14 (87.248.113.14) from 86.106.19.75 eth2: 56(84) bytes of data.
>From 86.106.19.75 icmp_seq=1 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=2 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=3 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=5 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=6 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=7 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=9 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=10 Destination Host Unreachable
>From 86.106.19.75 icmp_seq=11 Destination Host Unreachable

--- 87.248.113.14 ping statistics ---
13 packets transmitted, 0 received, +9 errors, 100% packet loss, time 12006ms
, pipe 3
root@...kstar:~/iputils#


root@...kstar:~# tcpdump -i eth2 -vvv -n host 87.248.113.14 and host
86.106.19.75
tcpdump: listening on eth2, link-type EN10MB (Ethernet), capture size 96 bytes
01:19:24.292911 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:25.292897 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:26.292901 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:27.302906 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:28.302911 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:29.302912 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:31.302917 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:32.302921 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:33.302923 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:35.302932 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:36.302932 arp who-has 87.248.113.14 tell 86.106.19.75
01:19:37.302939 arp who-has 87.248.113.14 tell 86.106.19.75

12 packets captured
12 packets received by filter
0 packets dropped by kernel
root@...kstar:~#


There is one exception though, it works when using eth0. I'm
administrating multiple linux boxes with 2 or 3 ethernet cards and if
I try pinging with eth0 it does send icmp like it should but when
specifying eth1 or eth2 is sends arp requests. The distro I'm using is
Slackware 12.0. I already reported this to the iputils maintainer and
he recommended to report it here. Thanks in advance.

Regards.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists