返回顶部

收藏

perl实现端口扫描

更多
#! /usr/bin/perl

use threads;
use IO::Socket::INET;
use strict;

my @openport;

sub scan{
    my ($host,@ports,$proto) = @_;

    foreach my $port (@ports){
        my $socket = new IO::Socket::INET(
                PeerHost => $host,
                PeerPort => $port,
                Proto    => $proto,
                );

        if($socket){
            print $port,"is  open!\\n";
            push(@openport, $port);
            $socket->close();
        }

    }
}

sub thread{
    my $host = shift;
    my @ports = (1..65535);
    my $length = 65535/4;
    my $thr0 = threads->new(\\&scan, $host, @ports[1..$length], 'tcp');
    my $thr1 = threads->new(\\&scan, $host, @ports[$length+1..$length*2], 'tcp');
    my $thr2 = threads->new(\\&scan, $host, @ports[$length*2+1..$length*3], 'tcp');
    my $thr3 = threads->new(\\&scan, $host, @ports[$length*3+1..65535], 'tcp');
    $thr0->join();
    $thr1->join();
    $thr2->join();
    $thr3->join();
}

thread('127.0.0.1');
#scan('127.0.0.1',29,'tcp');
foreach my $accessport (@openport){
    print $accessport," is open!";
}
#该片段来自于http://outofmemory.cn

标签:perl,网络

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. JeffJing 发表 2011-08-28 12:39:10 完美解决虚拟机上安装Linux不能联网问题(Ubuntu)
  2. 郑永 发表 2013-04-01 23:33:11 回复评论邮件加入gravatar头像
  3. P迪 发表 2013-04-26 09:01:19 国家版权局:网络音乐下载必然要收费
  4. 郑永 发表 2013-05-18 19:46:03 博客近况
  5. admin 发表 2013-06-25 06:15:48 再谈网络运维人员的firefox扩展
  6. 博主 发表 2009-12-15 08:00:00 Apache Mod_Perl实现 URL Rewrite
  7. 郑永 发表 2013-08-10 15:08:19 再见了 Google Adsense
  8. P迪 发表 2013-08-17 03:08:28 App.net:收费但无广告的社交网络
  9. 发表 2013-09-14 03:14:15 WordPress 3.6.1
  10. 郑永 发表 2013-10-14 16:52:17 wordpress离线编辑器推荐!
  11. 博主 发表 2013-11-03 16:00:00 用 Perl 读取通达信日线数据
  12. 发表 2014-01-01 07:13:01 2014你好