Skip to content

Instantly share code, notes, and snippets.

@KINGSABRI
Created April 14, 2012 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KINGSABRI/2387743 to your computer and use it in GitHub Desktop.
Save KINGSABRI/2387743 to your computer and use it in GitHub Desktop.
Linux Hardware Scaner
#~~~~~~~~~~~~~~~~~~~~~~~
# Linux HW Scanner is a simple script to catch all Hardware Specifications from list of servers
# Coded by : Sabry Saleh
# License : GPL2
#~~~~~~~~~~~~~~~~~~~~~~~
#=-Notes-=
# You have to install ruby + net-ssh gems
# sudo gem install net-ssh
# sudo gem install net-ssh-shell
#~~~~~~~~~~~~~~~~~~~~~~~
require 'net/ssh'
class LinxHWSpecs
begin
host = IO.readlines('serverlist.txt') # full path of servers' list
port = 22 # SSH port
user = 'username' # username
pass = "123123" # password
i = 0
cmd = ["sudo /sbin/ip addr | grep mtu | grep -v lo | awk '{print $2}'", # Interfaces
"sudo /sbin/ip addr | grep -i inet | grep -v inet6 | awk '{print $2}' | grep -v 127.0.0.1", # IP-Address(v4)
"sudo grep 'name' /proc/cpuinfo | tail -n 1 | cut -d ':' -f 2 | awk '{print $1,$2,$3}'", # CPU Info
"sudo /sbin/fdisk -l | grep -i disk | grep -v identifier | sort | grep -v Partition | grep -v md | awk '{print $1,$2,$3,$4}'", # Disk Info(GB)
"sudo free -m | grep Mem | awk '{ print $2 }'", # RAM Info (MB)
"cat /etc/redhat-release", # Releas Version
"hostname"] # Server Name
while i < host.length
Net::SSH.start( host[i],user,:password => pass, :port=> port , :verbose=> :error ) do |ssh|
puts "[+] Server Name: #{ssh.exec!(cmd[6])}"
puts "[+] Interfaces: \n#{ssh.exec!(cmd[0])}"
puts "[+] IP-Address(v4): \n#{ssh.exec!(cmd[1])} \n"
puts "[+] CPU Info: \n#{ssh.exec!(cmd[2])} \n"
puts "[+] Disk Info(GB): \n#{ssh.exec!(cmd[3])} \n"
puts "[+] RAM Info (MB): \n#{ssh.exec!(cmd[4])} \n"
puts "[+] Releas Version: \n#{ssh.exec!(cmd[5])} \n"
puts "[*]----------[ End Of #{ssh.exec!(cmd[6]).chomp} ]----------[*]
"
end # end of do
i += 1
end # end of while
rescue Exception => e
puts "[!] Error @ #{host[i].chomp} : #{e}"
end # end of begin
end # end of LinxHWSpecs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment