扫描局域网中Gogs服务器脚本(ruby)

Posted 备忘录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扫描局域网中Gogs服务器脚本(ruby)相关的知识,希望对你有一定的参考价值。

scanGogs.rb

#!/usr/bin/env ruby
require open-uri
require thread
require english

# configs
CONFIG_IPDOMAIN = 30.93.41.
CONFIG_RANGE = (2..254)
CONFIG_URITEMPLATE = http://%s:3000/user/login

# tty
TTY_FG = { Black: 30, Red: 31, Green: 32, Yellow: 33, Blue: 34,
           Magenta: 35, Cyan: 36, White: 37 }.freeze
TTY_BG = { Black: 40, Red: 41, Green: 42, Yellow: 43, Blue: 44,
           Magenta: 45, Cyan: 46, White: 47 }.freeze
TTY_MD = { Reset: 0, Bold: 1, Italics: 3, Underlined: 4 }.freeze

def tty_msg(msg, tty_fg: nil, tty_bg: nil, tty_md: nil)
  if STDOUT.tty? || STDIN.tty? || STDERR.tty?
    "\033[#{TTY_MD[tty_md]};#{TTY_FG[tty_fg]};#{TTY_BG[tty_bg]}m#{msg}\033[0m"
  else
    msg
  end
end

# tty styles
def note_style(msg)
  tty_msg(msg, tty_fg: :Yellow, tty_md: :Underlined)
end

def yes_style(msg)
  tty_msg(msg, tty_fg: :Black, tty_md: :Bold, tty_bg: :Green)
end

def error_style(msg)
  tty_msg(msg, tty_fg: :White, tty_bg: :Red)
end

# main
puts note_style(Working...)
success_list = []
threads = []
CONFIG_RANGE.each do |n|
  threads << Thread.new do
    s = CONFIG_IPDOMAIN + String(n)
    uri = format(CONFIG_URITEMPLATE, s)
    begin
      open(uri)
      s << yes_style("\t**YES**")
      success_list << uri
    rescue
      s << error_style("\terror") << " #{$ERROR_INFO}\n"
    end
    puts s
  end
end

threads.each(&:join)
puts note_style(Result:)
success_list.each { |s| puts s }

 

以上是关于扫描局域网中Gogs服务器脚本(ruby)的主要内容,如果未能解决你的问题,请参考以下文章

Windows 下用 gogs 配置局域网 git server

NMAP之script脚本扫描总结

NMAP脚本使用总结

弱点扫描简介

扫描局域网内存活主机 脚本

局域网ip地址扫描_v1版本