Files
metasploit-gs/lib/rex/post/meterpreter/extensions/stdapi/net/interface.rb
T
HD Moore 88658064df /usr/bin/ruby vs /usr/bin/env ruby
git-svn-id: file:///home/svn/incoming/trunk@3242 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-17 06:46:23 +00:00

71 lines
1.2 KiB
Ruby

#!/usr/bin/env ruby
require 'ipaddr'
module Rex
module Post
module Meterpreter
module Extensions
module Stdapi
module Net
###
#
# This class represents a logical physical interface
# on the remote machine.
#
###
class Interface
##
#
# Constructor
#
##
#
# Returns a logical interface and initializes it to the supplied
# parameters.
#
def initialize(ip, netmask, mac_addr, mac_name)
self.ip = IPAddr.ntop(ip)
self.netmask = IPAddr.ntop(netmask)
self.mac_addr = mac_addr
self.mac_name = mac_name
end
#
# Returns a pretty string representation of the interface's properties.
#
def pretty
return sprintf(
"#{mac_name}\n" +
"Hardware MAC: %02x:%02x:%02x:%02x:%02x:%02x\n" +
"IP Address : %s\n" +
"Netmask : %s\n" +
"\n",
mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3],
mac_addr[4], mac_addr[5], ip, netmask)
end
#
# The IP address bound to the interface.
#
attr_accessor :ip
#
# The subnet mask associated with the interface.
#
attr_accessor :netmask
#
# The physical (MAC) address of the NIC.
#
attr_accessor :mac_addr
#
# The name of the interface.
#
attr_accessor :mac_name
end
end; end; end; end; end; end