扫描局域网中Gogs服务器(ruby)
scanGogs.rb
#!/usr/bin/env ruby
require 'net/http'
require 'thread'
require 'english' # config
CONFIG_IPDOMAIN = '30.96.68.'.freeze
CONFIG_RANGE = (2..254)
CONFIG_URITEMPLATE = 'http://%s:3000/user/login'.freeze
CONFIG_READ_TIMEOUT = 30
CONFIG_HIDE_ERROR = true # 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)
l = []
l << TTY_MD[tty_md] if tty_md
l << TTY_FG[tty_fg] if tty_fg
l << TTY_BG[tty_bg] if tty_bg
if l.size > 0
m = l.join(';')
"\033[#{m}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 httpcode_style(msg)
tty_msg(msg, tty_fg: :White, tty_bg: :Blue)
end def error_style(msg)
tty_msg(msg, tty_fg: :White, tty_bg: :Red)
end # timeout
module Net
# initialize timeout
class HTTP
alias old_initialize initialize def initialize(*args)
old_initialize(*args)
@read_timeout = CONFIG_READ_TIMEOUT
end
end
end # main
puts note_style('Working...')
success_list = []
httperr_list = []
threads = []
CONFIG_RANGE.each do |n|
threads << Thread.new do
s = CONFIG_IPDOMAIN + String(n)
uri = URI(format(CONFIG_URITEMPLATE, s))
begin
res = Net::HTTP.get_response(uri)
if res.is_a?(Net::HTTPSuccess)
s << "\t" << yes_style('**YES**')
success_list << uri.to_s
else
httperr = "\t#{httpcode_style(res.code)} #{res.message}\n"
s << httperr
httperr_list << (uri.to_s + httperr)
end
puts s
rescue
unless CONFIG_HIDE_ERROR
s << "\t#{error_style('error')} #{$ERROR_INFO}\n"
puts s
end
end
end
end threads.each(&:join)
puts "\n" << note_style("HttpErr Result: #{httperr_list.size}")
httperr_list.each { |s| puts s }
puts "\n" << note_style("Success Result: #{success_list.size}")
success_list.each { |s| puts s }
扫描局域网中Gogs服务器(ruby)的更多相关文章
- Oracle 局域网布置数据库服务器,客户端连接提示TNS:无监听器的解决实现
Oracle布置在局域网中的服务器的时候,用本地PL SQL 链接没有丝毫的问题. 但是,如果用远程客户端的PL SQL 链接的时候却出现了“TNS:无监听器”的问题. 首先,就是进行了服务器端的监听 ...
- 在局域网中搭建自己的gis服务器
在局域网中搭建自己的gis服务器 需求 在客户的B/S应用系统中使用电子地图.该系统只可运行于内部网中. 分析 由于系统中的电子地图只能运行于局域网中所以不能采用googl ...
- 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息
ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...
- 组件局域网中的无集线器、Windows XP、Windows 7、Windows 8的对等网
为什么要用对等网? 答:对等网采用分散管理的方式,网络中的每台计算机既作为客户机又可作为服务器来工作,每个用户都管理自己机器上的资源. 组建局域网中无集线器的对等网 组建局域网中Windows XP ...
- (转)怎样查看局域网中自己的IP地址和其他电脑的IP地址?
开始菜单->运行->打cmd,回车->再弹出的黑框里打ipconfig -all,回车显示的IP Address就是你的ip地址看局域网的电脑的ip用软件比较方便,比如p2p终结者, ...
- win10如何在局域网中设置一台电脑的固定ip地址
在工作和生活中,经常要遇到远程访问一台电脑的情况,但是在局域网中如果不进行设置,通常一台电脑的ip是自动生成的,,没有固定,这就导致下次访问这个地址时,不能正常访问,下面就交大家如何在win10系统中 ...
- android设备局域网中快速搜索之cling方式
cling方式就像pc端windows局域网工作组刷新显示一样,原来用过扫描ip地址的方式,可以使用就是有点慢,还有一种自己加入组广播,通过发送组广播的方式. android设备局域网中快速搜索之 ...
- Python网络编程中的服务器架构(负载均衡、单线程、多线程和同步、异步等)
这篇文章主要介绍服务器架构. 网络服务需要面对两个挑战. 第一个问题是核心挑战,要编写出能够正确处理请求并构造合适响应的代码. 第二个挑战是如何将网络代码部署到随系统自动启动的Windows服务或者是 ...
- linux下快速列出局域网中所有主机名(计算机名)的脚本
最近有列出局域网中所有主机名的需求(SMB协议里的),但是findsmb命令总是列不全,搜了搜网上也没什么现成的解决方案,于是自己写了个python脚本 脚本会扫描局域网arp表中所有ip,并尝试解析 ...
随机推荐
- 接口测试工具 — jmeter(关联)
1.正则表达式 1)添加正则表达式提取器 2)提取关联词 3)填写正则表达式 4)使用关联,其他请求使用${sign2}代替变量值 2. 1)添加提取器 2)填写变量值 3)使用关联,其他请求使用${ ...
- CNI flannel插件
// plugins/meta/flannel/flannel.go func cmdAdd(args *skel.CmdArgs) error 调用n, err := loadFlannelNetC ...
- Django-admin列表展示上传图片
1.在models.py文件中创建表ImageField类型字段 class user(models.Model): img = models.ImageField(upload_to='static ...
- django--mysql设置
mysql基本配置 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USE ...
- Java加密技术(四)非对称加密算法RSA
RSA 这样的算法1978年就出现了.它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作.也非常流行.算法的名字以发明者的名字命名:Ron Rivest, AdiShamir ...
- 思考在伟大的互联网世界中,我是谁?——By Me in 2016
互联网伟大在哪里? 互联网的发明是不是伟大的,这个问题就如同这个世界上许许多多的问题一样,很大程度上取决于人们不同的经历.不同的见识,乃至不同的信念.不同的人生态度. 摘录网上的一段表述:“互联网(产 ...
- SQL SERVER自动化运维系列
SQL SERVER自动化运维系列 转自:https://www.cnblogs.com/zhijianliutang/p/5001142.html 本系列为SQL SERVER自动化运维的一些操作技 ...
- OpenERP学习过程1
系统为Win7 32位,下载并安装OpenERP: 1. 下载地址http://nightly.odoo.com/7.0/nightly/exe/ 2. 双击开始安装,由于选择的是all-in-one ...
- 关于mysql主从复制的概述与分类
一.概述: 按照MySQL的同步复制特点,大体上可以分为三种类别: 1.异步复制: 2.半同步复制: 3.完全同步的复制: -------------------------------------- ...
- Hbase 学习笔记2----概念
说在前面,本文部分内容来源于社区官网经过适度翻译,部分根据经验总结,部分是抄袭网络博文,(不一一列举引用,在此致歉)一并列在一起,本文的目的,希望能总结出一些有用的,应该注意到的东西,基本思路是先提出 ...