#!/usr/bin/perl -w use strict; use IO::Socket; use IO::Select; my $s=new IO::Select; my $ip1=IO::Socket::INET->new(LocalPort => 5925, Proto=>'udp', LocalAddr => '127.0.0.1') or die "error creating UDP server $@\n"; my $ip2=IO::Socket::INET->new(LocalPort => 5925, Proto=>'udp', LocalAddr => '64.82.70.84') or die "error creating UDP server $@\n"; $s->add($ip1); $s->add($ip2); while(1){ my $server; foreach $server($s->can_read(60)){ my $newmsg; $server->recv($newmsg,1024); my ($rport,$ripaddr) = sockaddr_in($server->peername); print "remote: ".inet_ntoa($ripaddr)."($rport)\n"; my ($lport,$lipaddr) = sockaddr_in($server->sockname); print "local: ".inet_ntoa($lipaddr)."($lport)\n"; } }