Richard van den Berg on Mon, 9 Jun 2003 05:47:05 -0400

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [tcptra-dev] tcptraceroute test suite

Michael C. Toren wrote:
Are you able to successfully traceroute to either or if you specify the device to use by hand?

No. That is, the attaching works fine, but the actual traceroute fails. (Just a bunch of *s).

Another test to help determine if it's a libpcap problem might be to
see if tcpdump can attach to the loopback interface.  Something like:

tcpdump -n -i lo0

This is a very useless command on Solaris. First off, Solaris comes with snoop, so tcpdump is not often installed. Secondly, packets sent over the loopback interface on Solaris do not travel high enough down and up the IP stack to be able to be sniffed. This is a major drawback when troubleshooting local connections: anything sent over lo0 cannot be seen by snoop or pcap.

Anyhow, build tcpdump 3.7.2 (using libpcap 0.7.2), and here we have it:

# ./tcpdump -n -i lo0
tcpdump: /dev/lo0: No such file or directory

on the other hand:

# snoop -d lo0
snoop: /dev/lo: No such file or directory

which is a little better (Solaris has 1 generic device in /dev for each interface type, not a device per interface).

Ok, something just hit me. Because of the above (packets over loopback never leave lower layers of IP stack), there was probably no use for a lookback DPLI interface in Solaris. So Sun never implemented one. Makes sense... why build something that's useless anyway?

I think the same reasoning goes for tcptraceroute not working to a local interface. Since we rely on pcap to tell us what the host receives. A test I did:

window1# snoop -d eri0
window2$ ping -s

Snoop does not see the packets either (the IP stack recognizes the packets are destined for the local machine, and never sends them high enough up the stack for snoop or pcap to see them).

Looks like this will never work on Solaris.


Richard van den Berg

tcptraceroute-dev mailing list