|Richard van den Berg on Mon, 9 Jun 2003 05:47:05 -0400|
Michael C. Toren wrote:
Are you able to successfully traceroute to either 127.0.0.1 or 22.214.171.124 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:
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 192.168.0.2
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 firstname.lastname@example.org https://lists.netisland.net/mailman/listinfo/tcptraceroute-dev