zoukankan      html  css  js  c++  java
  • Perl 继续研究合适的方案

    一直研究SYN可行的扫描方案,想了一下,自己模拟写了一个,

    但是感觉特别不理想。还得修改,mark一下。

        #!/usr/bin/perl
        use threads;
        use Thread::Queue;
        use Thread::Semaphore;
        use Net::Ping;
    
        # create queue
        my $q=new Thread::Queue;
        # read for check list
        my @target=<>;
    
        foreach my $ip (@target){
           foreach my $port (1..65535){
              $q->enqueue(nex($ip,$port));
           }  
        }  
    
        print $q->pending;
        #my $se = Thread::Semaphore->new(100);
    
        #my @check_list;
        #foreach my $ip (@target){
        #   if(${$se} <= 0){
        #     for my $t (threads->list(threads::joinable)){
        #           $t->join();
        #           $se->up();
        #     }
        #     redo;
        #  }
        #  $se->down();
        #  threads->create(&nex,$ip)
        #}
        #for my $t(threads->list()){
            #  $t->detach();
        #       $t->join();
        #}
    
        sub nex{
           ($ip,$port)=@_;
           chomp($ip);
           $scan=Net::Ping->new('syn');
           $scan->port_number($port);
           $scan->ping($ip);
           if($scan->ack){
              print "ip:$ip port:$port open
    ";
           }  
           $scan->close();
        }  
  • 相关阅读:
    【CodeForces 788B】奇妙的一笔画问题
    数论day2——离散对数、元根
    学习阶段总结(1)
    Flask特殊装饰器
    Flask蓝图
    Flask对象配置
    Flask实例化配置
    Flask路由
    Flask Session
    Flask jinja2
  • 原文地址:https://www.cnblogs.com/xiaoCon/p/3361299.html
Copyright © 2011-2022 走看看