- 论坛徽章:
- 0
|
大家好..首先说明下,我还是新手,问题可能太简单.但是网上找不到这方面这问题...我想自己写一段代码,能够获取内网里的IP,或者流量等...但是才开始就遇到问题了...一般的Socket全是服务器和客户端的..获取内网的IP的话应该实现有点不一样的吧...
use IO::Socket;
my $this;
my $port=shift||6000;
$this=pack('Sna4x8',AF_INET,$port,"\0\0\0\0");
print "Port = $port\n";
my $prototype=getprotobyname('icmp');
socket(SOCKET,PF_INET,SOCK_RAW,$prototype)|| die "connect : $!\n";
print "Socket ok\n";
bind(SOCKET,$this)||die "bind:$!\n";
print "Bind ok.\n";
recv(SOCKET,$mem,100,0) or die "get : $!";
print $mem;
close(SOCKET);
这里recv函数获取不了信息..程序就挂在那运行不了...请大家指教下...谢谢 |
|