def start(self): """ Emulate iptables commands, including permission checking. Verified examples: * iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT * iptables -A INPUT -i eth0 -p tcp -s "127.0.0.1" -j DROP Others: * iptables * iptables [[-t | --table] <name>] [-h | --help] * iptables [[-t | --table] <name>] [-v | --version] * iptables [[-t | --table] <name>] [-F | --flush] <chain> * iptables [[-t | --table] <name>] [-L | --list] <chain> * iptables [[-t | --table] <name>] [-S | --list-rules] <chain> * iptables --this-is-invalid """ # In case of no arguments if len(self.args) == 0: self.no_command() return # Utils def optional_arg(arg_default): def func(option, opt_str, value, parser): if parser.rargs and not parser.rargs[0].startswith('-'): val = parser.rargs[0] parser.rargs.pop(0) else: val = arg_default setattr(parser.values, option.dest, val) return func # Initialize options parser = ModifiedOptionParser(add_help_option=False) parser.add_option("-h", "--help", dest="help", action="store_true") parser.add_option("-V", "--version", dest="version", action="store_true") parser.add_option("-v", "--verbose", dest="verbose", action="store_true") parser.add_option("-x", "--exact", dest="exact", action="store_true") parser.add_option("--line-numbers", dest="line_numbers", action="store_true") parser.add_option("-n", "--numeric", dest="numeric", action="store_true") parser.add_option("--modprobe", dest="modprobe", action="store") parser.add_option("-t", "--table", dest="table", action="store", default=command_iptables.DEFAULT_TABLE) parser.add_option("-F", "--flush", dest="flush", action="callback", callback=optional_arg(True)) parser.add_option("-Z", "--zero", dest="zero", action="callback", callback=optional_arg(True)) parser.add_option("-S", "--list-rules", dest="list_rules", action="callback", callback=optional_arg(True)) parser.add_option("-L", "--list", dest="list", action="callback", callback=optional_arg(True)) parser.add_option("-A", "--append", dest="append", action="store") parser.add_option("-D", "--delete", dest="delete", action="store") parser.add_option("-I", "--insert", dest="insert", action="store") parser.add_option("-R", "--replace", dest="replace", action="store") parser.add_option("-N", "--new-chain", dest="new_chain", action="store") parser.add_option("-X", "--delete-chain", dest="delete_chain", action="store") parser.add_option("-P", "--policy", dest="policy", action="store") parser.add_option("-E", "--rename-chain", dest="rename_chain", action="store") parser.add_option("-p", "--protocol", dest="protocol", action="store") parser.add_option("-s", "--source", dest="source", action="store") parser.add_option("-d", "--destination", dest="destination", action="store") parser.add_option("-j", "--jump", dest="jump", action="store") parser.add_option("-g", "--goto", dest="goto", action="store") parser.add_option("-i", "--in-interface", dest="in_interface", action="store") parser.add_option("-o", "--out-interface", dest="out_interface", action="store") parser.add_option("-f", "--fragment", dest="fragment", action="store_true") parser.add_option("-c", "--set-counters", dest="set_counters", action="store") parser.add_option("-m", "--match", dest="match", action="store") parser.add_option("--sport", "--source-ports", dest="source_ports", action="store") parser.add_option("--dport", "--destination-ports", dest="dest_ports", action="store") parser.add_option("--ports", dest="ports", action="store") parser.add_option("--state", dest="state", action="store") # Parse options or display no files try: (opts, args) = parser.parse_args(list(self.args)) except OptionParsingError, e: self.bad_argument(self.args[0]) return
def call(self): """ Add uname command to identify server """ # Initialize options parser = ModifiedOptionParser(add_help_option=False) parser.add_option("--help", dest="help", action="store_true") parser.add_option("--version", dest="version", action="store_true") parser.add_option("-a", "--all", dest="all", action="store_true") parser.add_option("-s", "--kenel-name", dest="name", action="store_true") parser.add_option("-r", "--kernel-release", dest="release", action="store_true") parser.add_option("-v", "--kernel-version", dest="kernel", action="store_true") parser.add_option("-m", "--machine", dest="machine", action="store_true") parser.add_option("-p", "--processor", dest="processor", action="store_true") parser.add_option("-i", "--hardware-platform", dest="hardware", action="store_true") parser.add_option("-o", "--operating-system", dest="os", action="store_true") try: (opts, args) = parser.parse_args(list(self.args)) except OptionParsingError, e: self.bad_argument(self.args[0]) return
def start(self): """ Emulate iptables commands, including permission checking. Verified examples: * iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT * iptables -A INPUT -i eth0 -p tcp -s "127.0.0.1" -j DROP Others: * iptables * iptables [[-t | --table] <name>] [-h | --help] * iptables [[-t | --table] <name>] [-v | --version] * iptables [[-t | --table] <name>] [-F | --flush] <chain> * iptables [[-t | --table] <name>] [-L | --list] <chain> * iptables [[-t | --table] <name>] [-S | --list-rules] <chain> * iptables --this-is-invalid """ # In case of no arguments if len(self.args) == 0: self.no_command() return # Utils def optional_arg(arg_default): def func(option,opt_str,value,parser): if parser.rargs and not parser.rargs[0].startswith('-'): val=parser.rargs[0] parser.rargs.pop(0) else: val=arg_default setattr(parser.values,option.dest,val) return func # Initialize options parser = ModifiedOptionParser(add_help_option=False) parser.add_option("-h", "--help", dest="help", action="store_true") parser.add_option("-V", "--version", dest="version", action="store_true") parser.add_option("-v", "--verbose", dest="verbose", action="store_true") parser.add_option("-x", "--exact", dest="exact", action="store_true") parser.add_option("--line-numbers", dest="line_numbers", action="store_true") parser.add_option("-n", "--numeric", dest="numeric", action="store_true") parser.add_option("--modprobe", dest="modprobe", action="store") parser.add_option("-t", "--table", dest="table", action="store", default=command_iptables.DEFAULT_TABLE) parser.add_option("-F", "--flush", dest="flush", action="callback", callback=optional_arg(True)) parser.add_option("-Z", "--zero", dest="zero", action="callback", callback=optional_arg(True)) parser.add_option("-S", "--list-rules", dest="list_rules", action="callback", callback=optional_arg(True)) parser.add_option("-L", "--list", dest="list", action="callback", callback=optional_arg(True)) parser.add_option("-A", "--append", dest="append", action="store") parser.add_option("-D", "--delete", dest="delete", action="store") parser.add_option("-I", "--insert", dest="insert", action="store") parser.add_option("-R", "--replace", dest="replace", action="store") parser.add_option("-N", "--new-chain", dest="new_chain", action="store") parser.add_option("-X", "--delete-chain", dest="delete_chain", action="store") parser.add_option("-P", "--policy", dest="policy", action="store") parser.add_option("-E", "--rename-chain", dest="rename_chain", action="store") parser.add_option("-p", "--protocol", dest="protocol", action="store") parser.add_option("-s", "--source", dest="source", action="store") parser.add_option("-d", "--destination", dest="destination", action="store") parser.add_option("-j", "--jump", dest="jump", action="store") parser.add_option("-g", "--goto", dest="goto", action="store") parser.add_option("-i", "--in-interface", dest="in_interface", action="store") parser.add_option("-o", "--out-interface", dest="out_interface", action="store") parser.add_option("-f", "--fragment", dest="fragment", action="store_true") parser.add_option("-c", "--set-counters", dest="set_counters", action="store") parser.add_option("-m", "--match", dest="match", action="store") parser.add_option("--sport", "--source-ports", dest="source_ports", action="store") parser.add_option("--dport", "--destination-ports", dest="dest_ports", action="store") parser.add_option("--ports", dest="ports", action="store") parser.add_option("--state", dest="state", action="store") # Parse options or display no files try: (opts, args) = parser.parse_args(list(self.args)) except OptionParsingError, e: self.bad_argument(self.args[0]) return
def call(self): """ Add uname command to identify server """ # Initialize options parser = ModifiedOptionParser(add_help_option=False) parser.add_option("--help", dest="help", action="store_true") parser.add_option("--version", dest="version", action="store_true") parser.add_option("-a", "--all", dest="all", action="store_true") parser.add_option( "-s", "--kenel-name", dest="name", action="store_true") parser.add_option( "-r", "--kernel-release", dest="release", action="store_true") parser.add_option( "-v", "--kernel-version", dest="kernel", action="store_true") parser.add_option( "-m", "--machine", dest="machine", action="store_true") parser.add_option( "-p", "--processor", dest="processor", action="store_true") parser.add_option( "-i", "--hardware-platform", dest="hardware", action="store_true") parser.add_option( "-o", "--operating-system", dest="os", action="store_true") try: (opts, args) = parser.parse_args(list(self.args)) except OptionParsingError, e: self.bad_argument(self.args[0]) return