免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3946 | 回复: 18

关于Perl进行Socket编程 [复制链接]

论坛徽章:
0
发表于 2009-02-09 13:22 |显示全部楼层
大家好..首先说明下,我还是新手,问题可能太简单.但是网上找不到这方面这问题...我想自己写一段代码,能够获取内网里的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函数获取不了信息..程序就挂在那运行不了...请大家指教下...谢谢

论坛徽章:
0
发表于 2009-02-09 13:42 |显示全部楼层

大家指点一下啊

大家帮帮忙哦..我在线等的

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
发表于 2009-02-09 13:45 |显示全部楼层
recv要等着接收100个字符

论坛徽章:
0
发表于 2009-02-09 13:54 |显示全部楼层

谢谢楼上

恩..我还以为是限制最大100字符呢..

论坛徽章:
0
发表于 2009-02-09 13:56 |显示全部楼层
等待读取100字符倒是没关系..关键是好象读取不到数据包..我上面的代码是有其他的问题吗

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
发表于 2009-02-09 14:13 |显示全部楼层
原帖由 yangchaohi 于 2009-2-9 13:56 发表
等待读取100字符倒是没关系..关键是好象读取不到数据包..我上面的代码是有其他的问题吗

收不到数据吗?
启动这段代码的脚本,然后ping这台机器的ip

[ 本帖最后由 ynchnluiti 于 2009-2-9 14:22 编辑 ]

论坛徽章:
0
发表于 2009-02-09 14:16 |显示全部楼层
我直接在windows命令行ping可以吗..?ping本机的地址?这样是连接正常的..应该是我代码有错吧?

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
发表于 2009-02-09 14:24 |显示全部楼层
原帖由 yangchaohi 于 2009-2-9 14:16 发表
我直接在windows命令行ping可以吗..?ping本机的地址?这样是连接正常的..应该是我代码有错吧?

运行你写的脚本,再ping运行脚本机器的ip。脚本应该能收到数据。
至于内容是什么,慢慢研究

论坛徽章:
0
发表于 2009-02-09 14:30 |显示全部楼层
恩...谢谢你了

论坛徽章:
0
发表于 2009-02-09 14:31 |显示全部楼层
先前用过recv接收ICMP回应数据,但没反应,好象是recv不支持ICMP协议
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP