加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl实现端口扫描

发布时间:2020-12-15 21:10:01 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #! /usr/bin/perluse threads;use IO::Socket::INET;use strict;my @openport;sub scan{my ($host,@ports,$proto) = @_;foreach my $port (@ports){my

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#! /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,@ports[$length+1..$length*2],'tcp');
	my $thr2 = threads->new(&;scan,@ports[$length*2+1..$length*3],'tcp');
	my $thr3 = threads->new(&;scan,@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!";
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读