create_services_dump.py

来自「Ubuntu packages of security software。 相」· Python 代码 · 共 77 行

PY
77
字号
#!/usr/bin/env python# -*- coding: utf-8 -*-# Copyright (C) 2005 Insecure.Com LLC.## Author: Adriano Monteiro Marques <py.adriano@gmail.com>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAimport reimport cPickleimport os.pathdef create_services_dump(services, services_dump):    services_dump = os.path.join("share", "zenmap", "misc", services_dump)    services_dict = {}    serv_file = open(services, 'r')    regex = re.compile("(\w+)\s+(\d+)/(\w{3})\s+#\s*(.*)$")            for s in serv_file.readlines():        m = regex.match(s)        if m:            serv = m.groups()            tcp, udp, ddp = False, False, False                        if serv[2] == "tcp":                tcp = True            elif serv[2] == "udp":                udp = True            elif serv[2] == "ddp":                ddp = True            try:                services_dict[serv[0]]            except:                services_dict[serv[0]] = {"ports":[int(serv[1])],                                     "comment":serv[3],                                     "tcp":tcp,                                     "udp":udp,                                     "ddp":ddp}            else:                if int(serv[1]) not in services_dict[serv[0]]["ports"]:                    services_dict[serv[0]]["ports"].append(int(serv[1]))                                    if tcp:                    services_dict[serv[0]]["tcp"] = tcp                elif udp:                    services_dict[serv[0]]["udp"] = udp                elif ddp:                    services_dict[serv[0]]["ddp"] = ddp    serv_file.close()    print ">>> Creating %s file" % services_dump    serv_dump = open(services_dump, "w")    cPickle.dump(services_dict, serv_dump)    serv_dump.close()    print ">>> Created!"if __name__ == "__main__":    services = os.path.join("..", "nmap-services")    services_dump = "services.dmp"    create_services_dump(services, services_dump)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?