class Penkit::CLI
Public Instance Methods
curl(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 6 def curl(*args) docker.run("cli:net", "curl", *args) end
ftp(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 11 def ftp(*args) docker.run("cli:net", "lftp", *args) end
metasploit(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 16 def metasploit(*args) docker.run("cli:metasploit", *args) end
netcat(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 21 def netcat(*args) docker.run("cli:net", "nc", *args) end
nmap(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 28 def nmap(*args) docker.run("cli:net", "nmap", *args) end
ping(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 33 def ping(*args) docker.run("cli:net", "ping", *args) end
ps(*args)
click to toggle source
# File lib/penkit/cli/container/ps.rb, line 4 def ps(*args) docker.ps(*args) end
pull(image)
click to toggle source
# File lib/penkit/cli/container/pull.rb, line 4 def pull(image) docker.pull(image) end
rm(*containers)
click to toggle source
# File lib/penkit/cli/container/rm.rb, line 5 def rm(*containers) if containers.any? docker.rm(*containers) else rm_all end end
rpcinfo(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 38 def rpcinfo(*args) docker.run("cli:net", "rpcinfo", *args) end
showmount(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 43 def showmount(*args) docker.run("cli:net", "showmount", *args) end
smbclient(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 48 def smbclient(*args) docker.run("cli:net", "smbclient", *args) end
sqlmap(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 53 def sqlmap(*args) docker.run("cli:sqlmap", *args) end
start(image)
click to toggle source
# File lib/penkit/cli/container/start.rb, line 5 def start(image) puts "Pulling latest image..." docker.pull(image, quiet: true) # Quietly updates the image if has_config?(image) opts = options.dup opts[:name] ||= unique_name(image) docker_compose.up(image, opts) else docker.start(image, options.dup) end end
stop(*containers)
click to toggle source
# File lib/penkit/cli/container/stop.rb, line 5 def stop(*containers) if containers.any? docker.stop(*containers) else stop_all end end
version()
click to toggle source
# File lib/penkit/cli/penkit.rb, line 15 def version puts VERSION end
wget(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 58 def wget(*args) docker.run("cli:net", "wget", *args) end
wpscan(*args)
click to toggle source
# File lib/penkit/cli/tools.rb, line 63 def wpscan(*args) docker.run("cli:wpscan", *args) end
Private Instance Methods
rm_all()
click to toggle source
# File lib/penkit/cli/container/rm.rb, line 15 def rm_all containers = docker.find_all_containers docker.rm(*containers) if rm_all?(containers) end
rm_all?(containers)
click to toggle source
# File lib/penkit/cli/container/rm.rb, line 20 def rm_all?(containers) return true if options[:force] return false if containers.size == 0 message = "Are you sure you want to remove %d %s? [y/N]" word = containers.size > 1 ? "containers" : "container" ask(message % [containers.size, word]) == "y" end
stop_all()
click to toggle source
# File lib/penkit/cli/container/stop.rb, line 15 def stop_all containers = docker.find_running_containers docker.stop(*containers) if stop_all?(containers) end
stop_all?(containers)
click to toggle source
# File lib/penkit/cli/container/stop.rb, line 20 def stop_all?(containers) return true if options[:force] return false if containers.size == 0 message = "Are you sure you want to stop %d %s? [y/N]" word = containers.size > 1 ? "containers" : "container" ask(message % [containers.size, word]) == "y" end