⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc931.pl

📁 我搜集到的一个java常用类库的源代码
💻 PL
字号:
#!/usr/local/bin/perl ## rfc931.pl# Usage# require "rfc931.pl";# &rfc931_name(there[,here]);# where there is a sockaddr.# # for example# &rfc931_name(getpeername(STDIN),getsockname(STDIN));# &rfc931_name(getpeername(SOCK),getsockname(SOCK));## require "sys/socket.ph";package rfc931;sub timeout {	($sig) = @_;	$time_out =1;	goto longjmp;}$RFC931_TIMEOUT=20;$DEFAULT_RFC931_PORT=113;sub main'rfc931_name {        $sockaddr = 'S n a4 x8';	($there,$here)=@_;#	print "here \r\n";	$here=getsockname(STDOUT) if (-S STDOUT && !$here) ;	($family,$thisport,$thisaddr)=unpack($sockaddr,$here);	($localaddr)=unpack('C4',$thisaddr);#	print "$localaddr $remoteaddr\n";#	return "" if !there;	$there=getpeername(STDOUT) if  (-S STDOUT && !$there) ;#	return "" if !$here;	($family,$thatport,$thataddr)=unpack($sockaddr,$there);	($remoteaddr)=unpack('C4',$thataddr);#	print "$localaddr $remoteaddr\n";	($name,$alias,$proto)=getprotobyname('tcp');	($name,$alias,$RFC931_PORT)=getservbyname('ident','tcp');	$RFC931_PORT = $DEFAULT_RFC931_PORT unless $RFC931_PORT;#	socket(IDENT,&main'PF_INET,&main'SOCK_STREAM,$proto) || return "";	socket(IDENT,2,1,$proto) || return "";#	$this=pack($sockaddr,&main'AF_INET,0,$thisaddr);	$this=pack($sockaddr,2,0,$thisaddr);	bind(IDENT,$this) || return ""; 	$SIG{'ALRM'} = 'timeout';	$time_out = 0;	longjump: if ($time_timout){		close(IDENT);		return $result;	}	alarm($RFC931_TIMEOUT);# connect to the RFC931 daeomon	$that=pack($sockaddr, 2 ,$RFC931_PORT,$thataddr);	if (!connect(IDENT,$that)) {		close(IDENT);		alarm(0);		return "";	}	select(IDENT); $| = 1; select(STDOUT);	printf IDENT "%u,%u\r\n", $thatport,$thisport;#	printf "%u,%u\r\n", $thatport,$thisport;	$_=<IDENT>;#	print $_;#	sscanf($_,'%u , %u : USERID :%*[^:]:%255s',$remote,$local,$user);	($remote,$local,$user) = /^(\d+) , (\d+) : USERID : \w\w\w\w : (\w+)/;#	print $user;	alarm(0);	close(IDENT);	return $user;}# &main'rfc931_name;1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -