my $buff; defined(recv(SOCK,$buff,256,0)) or die "error: $! \n"; print "received: ", length($buff), " bytes\n"; my($type,$subcode,$cksum,$recv_pid,$recv_seq)=unpack(ICMP_STRUCT,substr($buff,20)); if($type == ICMP_ECHOREPLY) { if($recv_pid != $pid) { print "icmp reply ignored (different pid) \n"; } elsif($recv_seq != $seq) { print "icmp reply ignored (different seq) \n"; } else {print "got icmp reply \n"}; } else { print "not an icmp reply\n"; } }