⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zenmap

📁 Ubuntu packages of security software。 相当不错的源码
💻
字号:
#!/usr/bin/env python# -*- coding: utf-8 -*-# Copyright (C) 2005 Insecure.Com LLC.## Authors: Adriano Monteiro Marques <py.adriano@gmail.com>#          Cleber Rodrigues <cleber.gnu@gmail.com>#          Frederico Silva Ribeiro <ribeiro.fsilva@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 osimport sysimport signalimport webbrowserfrom os.path import splitfrom zenmapCore.Name import APP_NAME, APP_DISPLAY_NAMEfrom zenmapCore.UmitOptionParser import option_parserDEVELOPMENT = os.environ.get(APP_NAME.upper() + "_DEVELOPMENT", False)if not DEVELOPMENT:    from tempfile import mktemp    # Generating temporary files names    stdout_output = mktemp()    stderr_output = mktemp()    old_stdout = sys.stdout    old_stderr = sys.stderr    _stdout = open(stdout_output, "w")    _stderr = open(stderr_output, "w")    sys.stdout = _stdout    sys.stderr = _stderr    # This will catch exceptions and send them to bugzilla    def excepthook(type, value, tb):        # We want messages printed to the console in case any exceptions occur        # in the exception hook itself (like if PyGTK is not present).        sys.stdout = old_stdout        sys.stderr = old_stderr        import traceback        import gtk        from zenmapCore.I18N import _        from zenmapCore.Version import VERSION        from higwidgets.higdialogs import HIGAlertDialog        from zenmapGUI.CrashReport import CrashReport        if type == ImportError:            d = HIGAlertDialog(type=gtk.MESSAGE_ERROR,                message_format=_("Import error"),                secondary_text=_("""\A required module was not found.""" + value.message))            d.run()            d.destroy()        else:            traceback.print_tb(tb)            sys.stdout.close()            sys.stderr.close()            sys.stdout = old_stdout            sys.stderr = old_stderr            hook = "Type: %s\nValue: %s\n" % (type, value)            outputs = "CRASH REPORTED:\n\    SYS.PLATFORM: %s\n\    OS.NAME: %s\n\    %s Version: %s\n\    %s\nSTDOUT\n%s\n\n\    %s\nSTDERR\n%s\n\nHOOK:\n%s" % \            (sys.platform, os.name,             APP_DISPLAY_NAME,             VERSION, "-"*80,             open(stdout_output).read(),             "-"*80,             open(stderr_output).read(),             hook)            report_result = False            try:                old_stdout.write("Bug reported!")                c = CrashReport("%s Crash - '%s'" % (APP_DISPLAY_NAME, value), outputs)                c.show_all()                gtk.main()            except:                d = HIGAlertDialog(type=gtk.MESSAGE_ERROR,                                   message_format=_("Bug not reported"),                                   secondary_text=_("""A critical error \occourried during %s execution,and it was not properly reported to our bug tracker. Please,copy the error message bellow and report it on our bug tracker.The following error message was NOT reported:%s""") % (APP_DISPLAY_NAME, outputs))                d.run()                d.destroy()            else:                # Showing a message on the terminal                old_stdout.write("Bug reported!")                old_stdout.write("\n")                # Calling a browser to open the result from bug tracker                if report_result:                    webbrowser.open("file://%s" % report_result)        gtk.main_quit()    sys.excepthook = excepthookif __name__ == '__main__':    ######################################    # Setting the home directory    from zenmapCore.Paths import Path    Path.set_umit_conf(split(sys.argv[0])[0])    ######################################    from zenmapCore.UmitLogging import log    from zenmapGUI.App import App    app = App()    if os.name == "posix":        signal.signal(signal.SIGHUP, app.safe_shutdown)    signal.signal(signal.SIGTERM, app.safe_shutdown)    signal.signal(signal.SIGINT, app.safe_shutdown)    try:        app.run()    except KeyboardInterrupt:        sys.exit(signal.SIGINT)

⌨️ 快捷键说明

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