`
st780206
  • 浏览: 47413 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Net::Ping包使用方法简介

阅读更多

http://www.moon-soft.com/program/bbs/readelite968106.htm

 

writer: demonalex
email: demonalex_at_hackermail.com
homepage: demonalex.co.tv


    Net::Ping包-----1个为了检查数据包到远程主机是否能到达的接口。

    附录:Perl5 WIN32版自带也有Net::Ping包,在perl目录\lib\Net\下,不过那个包对此文所提到的方法与其
属性等很多都不支持,建议到CPAN再下一次,URL:
http://search.cpan.org/src/BBB/Net-Ping-2.31/lib/Net/Ping.pm
由于此包的使用方法特殊,所以加个循环结构用作网络安全中使用的扫描器就再好不过了。

    这个包的基本运行步骤是这样的:建立对象(定义协议等网络参数)->PING->[ACK](当PING的协议为SYN时此步
骤有效)->关闭对象。协议有6种方便选择,预定义为TCP;当选定协议为UDP时只能探测到UDP7---ECHO服务;IC-
MP时等于普通的PING,但运行需要root权限;当协议为external时将会调用Net::Ping::External模块,在这里
就不多加说明了;使用的SYN的话就会使用半开式连接探测,此时可以使用ack方法作返回值探测,注意:有点不
同的是在这里调用SYN是不需要root权限的。

===================================================================================================================
主要方法:
------------------------------------------------------------------------------------------------------
Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos ]]]]]);

新建了一个Net::Ping对象。第一个参数($proto)为协议值,共有六种选择:TCP、UDP、ICMP、STREAM、SYN、E-
XTERNAL,默认值为TCP;第二个参数为默认超时值($def_timeout),以秒为单位,设置此值是为了定义PING方法
的超时值,默认为5秒;发送包的数据大小($bytes)会根据你选择的协议不同而有不同的结果,当你选择的协议
为TCP时系统忽略此值,当协议为UDP时此值默认为为1(最小值),其他类型则为0,此值可以选择的最大值为1024
;设备选项($device)为输出设备接口;服务类型Type of service($tos)通常可以忽略。可以使用无参数方式
调用此方法。调用此方法后的返回值为一个Net::Ping对象变量。


$p->ping($host [, $timeout]);

发送一个数据包并等待其返回。$p为Net::Ping对象变量;$host为远程主机地址(既可以是HOST格式,也可以是
Address格式);超时值($timeout)为发送数据的超时值,此值可以省略,当此参数省略时,数据超时值以new方
法的$def_timeout的值为准。这个方法的返回值为非典型布尔值,有三种可能:有返回值时为非0数、无返回值时
为0、发送参数定义失败为undef。


$p->source_verify( { 0 | 1 } );

此方法是允许源地址检测多网络接口的远程主机返回数据的‘有效性’的。此方法只影响UDP与ICMP。默认此方
法所对应的功能是启动的。


$p->service_check( { 0 | 1 } );

调用此方法将强行确定对方服务的‘有效性’。这个方法只针对TCP、UDP、SYN。默认此方法对应的功能是不启
动的。


$p->hires( { 0 | 1 } );

调用此方法将导致使用Time::HiRes模块,允许在以毫秒为单位的时间内接受被并发PING方法调用的数据返回。
默认此方法所对应的功能是不启动的。


$p->bind($local_addr);

用于绑定发送数据包的源地址(PS:是不是觉得好象在定义SOCKET的服务端呢?!:P)。参数的值可以使用HOST格式
或ADDRESS格式,但一定要是本机器的其中一个接口的地址。


$p->open($host);

当你使用的协议类型是STEAM时,每一次调用这个方法都会打开一个SOCKET。这个方法通常只用于为了建立不同
超时值的连接时或用于移除原先由PING方法所帮定的主机地址时;这个方法的调用对其他协议无效。


$p->ack( [ $host ] );

当你使用SYN协议时,调用此方法用于探测由远程主机返回的回应数据包(SYN+ISN+ACK)。返回值为布尔值;参
数($host)若被定义且此方法调用成功则此值为发出回应数据包的主机地址值。此方法只用与SYN协议。


$p->nack( $failed_ack_host );

此方法通常配合ACK方法一起使用。此方法是为了找出为什么调用ACK方法会‘失败’的原因(PS:算是这个包的
一个容错机制吧)。参数为调用ACK方法失败的主机地址值。


$p->close();

关闭Net::Ping对象变量。


pingecho($host [, $timeout]);

一个为了兼容性而存在的函数,调用方法与PING方法一样,但只用于TCP。

===================================================================================================================
相关实验:
------------------------------------------------------------------------------------------------------
#!usr/bin/perl -w
use Net::Ping;
$remote_host=$ARGV[0];
$syn=Net::Ping->new("syn");
$syn->{port_num}=$ARGV[1];
$syn->ping($remote_host);
if($syn->ack){
print("Host: $ARGV[0]'s Port: $ARGV[1] is Opened!\n");
$syn->close;
exit 1;
}else{
print("Maybe Closed!:(\n");
$syn->close;
exit 1;
}

#单IP单端口SYN扫描器

===================================================================================================================
作者与版权:
------------------------------------------------------------------------------------------------------
AUTHORS 
  Current maintainer:
    bbb@cpan.org (Rob Brown)

  External protocol:
    colinm@cpan.org (Colin McMillen)

  Stream protocol:
    bronson@trestle.com (Scott Bronson)

  Original pingecho():
    karrer@bernina.ethz.ch (Andreas Karrer)
    pmarquess@bfsec.bt.co.uk (Paul Marquess)

  Original Net::Ping author:
    mose@ns.ccsn.edu (Russell Mosemann)
COPYRIGHT 
Copyright (c) 2002-2003, Rob Brown. All rights reserved.

Copyright (c) 2001, Colin McMillen. All rights reserved.

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

$Id: Ping.pm,v 1.86 2003/06/27 21:31:07 rob Exp $

===================================================================================================================

    此文写得特烂,希望大家不要见怪:P



----
You may say I'm a dreamer 
But I'm not the only one 
I hope someday you'll join us 
And the world will be as one. 

 

分享到:
评论

相关推荐

    JustPing网速测试软件

    功能简介: 测试某主机(域名、IP)与世界各国网络节点的网络情况,确切的说是ping的延迟情况 提供最小值、最大值、平均值等,单位为MS 可按数值大小进行排序,瞬间知道与哪里最快,与哪里最慢 .... 更多功能有待你...

    windowsnt 技术内幕

    “控制面板”中的网络程序简介 安装网络协议 Microsoft TCP/IP简介 手工配置TCP/IP 自动配置TCP/IP 使用PING测试TCP/IP连接性 使用IPCONFIG验证TCP/IP配置 NWLINK简介 配置NWLINK NetBEUI简介 理解网络绑定 配置网络...

    WAN综合实验-7.pka

    使用 show ip nat translations 命令检验 NAT 是否已将 ping 命令使用的内部地址进行了转换。 任务 4:配置静态路由和默认路由 步骤 1. 配置 HQ 到达 ISP 的默认路由和到达 NewB LAN 的静态路由。 请使用送出接口...

    X-Scan v3.1

    功能简介: 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞...

    网络安全实验.doc

    " "指导教师: "曹传东老师 " "完成日期: " " 目录 1 实验环境 3 2 实验目的 3 3 实验步骤 3 4 实验内容 4 DOS窗口中常用网络命令的操作使用及IPCS攻击实践 4 DOS窗口中ping 命令及其常见带参数子命令的用法实践 4 ...

    LadonGo:Ladon Pentest扫描仪框架全平台LadonGo开源内网渗透扫描器框架,使用它可以轻松地一键批量检测C段,B段,A段存活主机,高危漏洞检测MS17010,SmbGhost,远程执行SSHWinrm,密码爆破SMBSSHFTPMysqlMssqlOracleOracleWinrmHttpBasicRedis,行扫描服务识别PortScan指纹识别HttpBannerHttpTitleTcpBannerWeblogicOxid多网卡主机,端口扫描服务识别PortScan

    LadonGo一种开源内部网渗透扫描器框架,使用它可轻松一键检测C段,B段,A段存活主机,指纹识别,端口扫描,密码爆破,远程执行,高危突破检测等。3.6版本包含28一个模块功能,高危突破检测MS17010,SmbGhost,远程...

    X-Scan

    功能简介: <br> 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用...

    XP下的PortReady1.6多线程的端口扫描

    │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b ...

    端口扫描PortReady1.6

    │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b ...

    端口扫描PortReady 1.6

    │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b ...

    hostMonitor8.58破解版(注册机)

    简介: HostMonitor是一种可以持续的监测服务器可用性和性能的系统管理工具。当网络出现错误时,它可以警报网络管理员,甚至自动解决问题,从而避免问题严重化至不能解决,也保护了计算机的数据,减少了高成本网络...

    TCP/IP详解

    第1章 开放式通信模型简介 1 1.1 开放式网络的发展 1 1.1.1 通信处理层次化 2 1.1.2 OSI参考模型 3 1.1.3 模型的使用 5 1.2 TCP/IP参考模型 7 1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 ...

    Copular Chat v3.0 (实景聊天系统)

    目录-- 程序简介 开发环境 相关工具 未能完成的部分 使用方法 作者简介 作者的话程序简介---- Copular Chat v3.0是我在今年4月份完成的,原本是为朋友的设计的实景聊天系统,但由于种种原因最终未能...

    LINUX 24学时教程

    10.8.3 使用ping命令 176 10.8.4 使用route命令 177 10.8.5 查看系统登录记录 177 10.9 课时小结 178 10.10 专家答疑 178 10.11 练习题 179 第11学时 配置因特网电子邮件 180 11.1 初始化设置和获取电子邮件 180 ...

    嵌入式Linux应用程序开发详解

    10.4.1 ping简介 326 10.4.2 ping源码分析 327 10.5 实验内容——NTP协议实现 345 本章小结 352 思考与练习 352 第11章 嵌入式Linux设备驱动开发 353 11.1 设备驱动概述 353 11.1.1 设备驱动...

    Google Android SDK开发范例大全(完整版)

    简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。...

    sniffer实验报告.doc

    "开课年级 "2012 "开课专业 "12网络工程 "实验地点 "414 " "开课日期 "2014年 9月1 日至 2015 年01 月11日 " "开课时间 "第4-15周 星期五 1-2节 " "实验项目简介: " "实验目的 " "练习sniffer工具的基本使用方法,...

Global site tag (gtag.js) - Google Analytics