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

[MacPerl] icmp ping



Hi All.

I'm new to this list, but not new to MacPerl.  I've got a
question about ping.  I scrounged through the archive for
more info.  There was a thread that came and went last year.
Appologies if I missed the resolution in the archive.

The short story is that MacPerl pings to our server fail,
where MacTCP Ping 2.0.2 and What Route 1.3.1 succeed.

After some testing, it looks to me like MacPerl doesn't work
with the icmp protocol.  Net::Ping will send tcp and udp
echos, but OpenTransport doesn't respond.  I'm guessing that
MacTCP Ping and What Route both use icmp.  I can install
MacTCP Watcher 2.0 on the computer -- it includes deamons
that reply to tcp and udp echos.  But wouldn't it be better
if that weren't necessary?

Am I missing something about MacPerl?  Or am I missing
something about Open Transport?  Is there any way to
configure Open Transport to reply to tcp and udp echos?
If I've got the story correct, what would be involved
in trying to build icmp support into MacPerl?

-Eric

Eric Dobbs
dobbs@epost.com


Here's details about my testing.
My system:
	MacOS 7.6.1
	OpenTransport 1.1.1
	MacPerl 5.1.9r4
The computer I'm pinging:
	MacOS 8.0
	OpenTransport 1.2
	(MacTCP Watcher 2.0 for one of the tests)

Runing this script:
	#!perl
	use Net::Ping;
	foreach ("udp","tcp","icmp") {
		$p = Net::Ping->new($_);
		$p->ping("206.168.220.23",30) ? print "$_ ping\n" : print
"$_ no reply\n";
		$p->close();
	}
returns:
	udp no reply
	tcp no reply
	# Can't get icmp protocol by name
	File 'Dev:Pseudo'; Line 4

Runing MacTCP Watcher 2.0 on the computer, I gives this reply:
	udp ping
	tcp ping
	# Can't get icmp protocol by name
	File 'Dev:Pseudo'; Line 4

Using WhatRoute 1.3.1:
	PING: 206.168.220.23 (206.168.220.23)
	PKT#	RESULT	TIME(ms)	LENGTH
	1	success	       2	    40
	2	success	       1	    40
	3	success	       1	    40
	4	success	       2	    40

	Packets out/in/bad/%loss = 4/4/0/0.0
	Round Trip Time (ms) min/avg/max = 1/1/2
	* Ping Completed *

To confirm MacPerl's protcols, I ran the following script:
	#!perl
	for ("icmp","tcp","udp"){print "$_\t" . getprotobyname($_) . "\n";}
	for (1..500) {print "$_\t" . getprotobynumber($_) . "\n";}

which returned:
	icmp
	tcp	6
	udp	17
	1
	2
	3
	4
	5
	6	tcp
	7
	8
	9
	10
	11
	12
	13
	14
	15
	16
	17	udp
	18
	19
	20
	--snip-- 20 < n < 500 were all blank
	500



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch