Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Mar 2000 14:54:26 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        Archie Cobbs <archie@whistle.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   ICMP socket weirdness
Message-ID:  <200003181954.OAA77677@khavrinen.lcs.mit.edu>
In-Reply-To: <200003172303.PAA70386@bubba.whistle.com>
References:  <200003172303.PAA70386@bubba.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Fri, 17 Mar 2000 15:03:18 -0800 (PST), Archie Cobbs <archie@whistle.com> said:

> When the program is run, if you ping the IP address from the
> local machine, it sees packets.  However, if you ping it from
> a remote machine, it doesn't see packets.

The ICMP never passes certain packets up to raw listeners.  These
include ECHO REQUEST, TIMESTAMP REQUEST, and SUBNET MASK REQUEST
packets -- but not the corresponding replies!  So, when you ping the
local machine, you will see the ECHO REPLY packets on all raw
listners, but not the initial ECHO REQUESTs.  When you ping from a
remote machine, you never see the ECHO REQUEST packets because the
kernel takes care of them, and you never see the ECHO REPLY packets
because they are addressed to the other machine.

It would be possible to pass all ICMP packets to the raw listeners,
but it would require rewriting parts of icmp_input() (which would not
be a bad idea) either to avoid modifying the packet in-place or to
keep a copy of the original before responding -- either of which would
slow down `ping' processing.

-GAWollman

--
Garrett A. Wollman   | O Siem / We are all family / O Siem / We're all the same
wollman@lcs.mit.edu  | O Siem / The fires of freedom 
Opinions not those of| Dance in the burning flame
MIT, LCS, CRS, or NSA|                     - Susan Aglukark and Chad Irschick


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003181954.OAA77677>