如何使用sr2t将你的安全扫描报告转换为表格格式

关于sr2t

sr2t是一款针对安全扫描报告的格式转换工具,全称为“Scanning reports to tabular”,该工具可以获取扫描工具的输出文件,并将文件数据转换为表格格式,例如CSV、XLSX或文本表格等,能够为广大研究人员提供一个可读的表格格式数据。

功能介绍

当前版本的sr2t支持处理下列工具生成的安全扫描报告:

1、Nmap (XML);

2、Nessus (XML);

3、Nikto (XML);

4、Dirble (XML);

5、Testssl (JSON);

6、Fortify (FPR);

工具依赖

1、argparse (dev-python/argparse);

2、prettytable (dev-python/prettytable);

3、python (dev-lang/python);

4、xlsxwriter (dev-python/xlsxwriter);

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用pip命令下载并安装sr2t:

pip install --user sr2t

或者使用下列命令将该项目源码直接克隆至本地:

git clone https://gitlab.com/0bs1d1an/sr2t.git

工具使用

我们可以通过一下两种方式来使用sr2t,如果我们以代码包的形式安装sr2t,则可以直接调用安装脚本:

sr2t --help

或者从项目目录调用工具脚本:

python -m src.sr2t --help

工具帮助信息

$ sr2t --helpusage: sr2t [-h] [--nessus NESSUS [NESSUS ...]] [--nmap NMAP [NMAP ...]][--nikto NIKTO [NIKTO ...]] [--dirble DIRBLE [DIRBLE ...]][--testssl TESTSSL [TESTSSL ...]][--fortify FORTIFY [FORTIFY ...]] [--nmap-state NMAP_STATE][--nmap-services] [--no-nessus-autoclassify][--nessus-autoclassify-file NESSUS_AUTOCLASSIFY_FILE][--nessus-tls-file NESSUS_TLS_FILE][--nessus-x509-file NESSUS_X509_FILE][--nessus-http-file NESSUS_HTTP_FILE][--nessus-smb-file NESSUS_SMB_FILE][--nessus-rdp-file NESSUS_RDP_FILE][--nessus-ssh-file NESSUS_SSH_FILE][--nessus-min-severity NESSUS_MIN_SEVERITY][--nessus-plugin-name-width NESSUS_PLUGIN_NAME_WIDTH][--nessus-sort-by NESSUS_SORT_BY][--nikto-description-width NIKTO_DESCRIPTION_WIDTH][--fortify-details] [--annotation-width ANNOTATION_WIDTH][-oC OUTPUT_CSV] [-oT OUTPUT_TXT] [-oX OUTPUT_XLSX][-oA OUTPUT_ALL]Converting scanning reports to a tabular formatoptional arguments:-h, --help                     显示工具帮助信息和退出--nmap-state NMAP_STATE    指定过滤器的状态,例如open、filtered--nmap-services              指定服务补充列表--no-nessus-autoclassify      不对Nessus结果执行自动分类--nessus-autoclassify-file NESSUS_AUTOCLASSIFY_FILE指定覆盖一个自定义Nessus自动分类YAML文件--nessus-tls-file NESSUS_TLS_FILE指定覆盖一个自定义Nessus TLS YAML文件--nessus-x509-file NESSUS_X509_FILE指定覆盖一个自定义Nessus X.509 YAML文件--nessus-http-file NESSUS_HTTP_FILE指定覆盖一个自定义Nessus HTTP YAML文件--nessus-smb-file NESSUS_SMB_FILE指定覆盖一个自定义Nessus SMB YAML文件--nessus-rdp-file NESSUS_RDP_FILE指定覆盖一个自定义Nessus RDP YAML文件--nessus-ssh-file NESSUS_SSH_FILE指定覆盖一个自定义Nessus SSH YAML文件--nessus-min-severity NESSUS_MIN_SEVERITY指定输出的最低严重等级,例如1--nessus-plugin-name-width NESSUS_PLUGIN_NAME_WIDTH指定pluginid列的宽度,例如30--nessus-sort-by NESSUS_SORT_BY指定输出按照ip-address, port, plugin-id,plugin-name或severity排序--nikto-description-width NIKTO_DESCRIPTION_WIDTH指定description列的宽度,例如30--fortify-details         指定包含Fortify摘要、解释和针对每个漏洞的建议--annotation-width ANNOTATION_WIDTH指定annotation列的宽度,例如30-oC OUTPUT_CSV, --output-csv OUTPUT_CSV指定输出CSV名称,例如output-oT OUTPUT_TXT, --output-txt OUTPUT_TXT指定输出TXT文件,例如output.txt-oX OUTPUT_XLSX, --output-xlsx OUTPUT_XLSX指定输出XLSX文件,例如output.xlsx-oA OUTPUT_ALL, --output-all OUTPUT_ALL指定输出全部格式的输出基础文件名,例如outputspecify at least one:--nessus NESSUS [NESSUS ...]指定(多个)Nessus XML文件--nmap NMAP [NMAP ...]指定(多个)Nmap XML文件--nikto NIKTO [NIKTO ...]指定(多个)Nikto XML文件--dirble DIRBLE [DIRBLE ...]指定(多个)Dirble XML文件--testssl TESTSSL [TESTSSL ...]指定(多个)Testssl JSON文件--fortify FORTIFY [FORTIFY ...]指定(多个)HP Fortify FPR文件

工具使用样例

Nessus

$ sr2t --nessus example/nessus.nessus --no-nessus-autoclassify -oX example.xlsx

生成文本表格至stdout:

$ sr2t --nessus example/nessus.nessus+---------------+-------+-----------+-----------------------------------------------------------------------------+----------+-------------+|       host    |  port | plugin id |                                 plugin name                                 | severity | annotations |+---------------+-------+-----------+-----------------------------------------------------------------------------+----------+-------------+| 192.168.142.4 | 3389  |   42873   | SSL Medium Strength Cipher Suites Supported (SWEET32)                       |    2     |      X      || 192.168.142.4 | 443   |   42873   | SSL Medium Strength Cipher Suites Supported (SWEET32)                       |    2     |      X      || 192.168.142.4 | 3389  |   18405   | Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness |    2     |      X      || 192.168.142.4 | 3389  |   30218   | Terminal Services Encryption Level is not FIPS-140 Compliant                |    1     |      X      || 192.168.142.4 | 3389  |   57690   | Terminal Services Encryption Level is Medium or Low                         |    2     |      X      || 192.168.142.4 | 3389  |   58453   | Terminal Services Doesn't Use Network Level Authentication (NLA) Only       |    2     |      X      || 192.168.142.4 | 3389  |   45411   | SSL Certificate with Wrong Hostname                                         |    2     |      X      || 192.168.142.4 | 443   |   45411   | SSL Certificate with Wrong Hostname                                         |    2     |      X      || 192.168.142.4 | 3389  |   35291   | SSL Certificate Signed Using Weak Hashing Algorithm                         |    2     |      X      || 192.168.142.4 | 3389  |   57582   | SSL Self-Signed Certificate                                                 |    2     |      X      || 192.168.142.4 | 3389  |   51192   | SSL Certificate Cannot Be Trusted                                           |    2     |      X      || 192.168.142.2 | 3389  |   42873   | SSL Medium Strength Cipher Suites Supported (SWEET32)                       |    2     |      X      || 192.168.142.2 | 443   |   42873   | SSL Medium Strength Cipher Suites Supported (SWEET32)                       |    2     |      X      || 192.168.142.2 | 3389  |   18405   | Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness |    2     |      X      || 192.168.142.2 | 3389  |   30218   | Terminal Services Encryption Level is not FIPS-140 Compliant                |    1     |      X      || 192.168.142.2 | 3389  |   57690   | Terminal Services Encryption Level is Medium or Low                         |    2     |      X      || 192.168.142.2 | 3389  |   58453   | Terminal Services Doesn't Use Network Level Authentication (NLA) Only       |    2     |      X      || 192.168.142.2 | 3389  |   45411   | SSL Certificate with Wrong Hostname                                         |    2     |      X      || 192.168.142.2 | 443   |   45411   | SSL Certificate with Wrong Hostname                                         |    2     |      X      || 192.168.142.2 | 3389  |   35291   | SSL Certificate Signed Using Weak Hashing Algorithm                         |    2     |      X      || 192.168.142.2 | 3389  |   57582   | SSL Self-Signed Certificate                                                 |    2     |      X      || 192.168.142.2 | 3389  |   51192   | SSL Certificate Cannot Be Trusted                                           |    2     |      X      || 192.168.142.2 | 445   |   57608   | SMB Signing not required                                                    |    2     |      X      |+---------------+-------+-----------+-----------------------------------------------------------------------------+----------+-------------+

输出至CSV文件:

$ sr2t --nessus example/nessus.nessus -oC example$ cat example_nessus.csvhost,port,plugin id,plugin name,severity,annotations192.168.142.4,3389,42873,SSL Medium Strength Cipher Suites Supported (SWEET32),2,X192.168.142.4,443,42873,SSL Medium Strength Cipher Suites Supported (SWEET32),2,X192.168.142.4,3389,18405,Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness,2,X192.168.142.4,3389,30218,Terminal Services Encryption Level is not FIPS-140 Compliant,1,X192.168.142.4,3389,57690,Terminal Services Encryption Level is Medium or Low,2,X192.168.142.4,3389,58453,Terminal Services Doesn't Use Network Level Authentication (NLA) Only,2,X192.168.142.4,3389,45411,SSL Certificate with Wrong Hostname,2,X192.168.142.4,443,45411,SSL Certificate with Wrong Hostname,2,X192.168.142.4,3389,35291,SSL Certificate Signed Using Weak Hashing Algorithm,2,X192.168.142.4,3389,57582,SSL Self-Signed Certificate,2,X192.168.142.4,3389,51192,SSL Certificate Cannot Be Trusted,2,X192.168.142.2,3389,42873,SSL Medium Strength Cipher Suites Supported (SWEET32),2,X192.168.142.2,443,42873,SSL Medium Strength Cipher Suites Supported (SWEET32),2,X192.168.142.2,3389,18405,Microsoft Windows Remote Desktop Protocol Server Man-in-the-Middle Weakness,2,X192.168.142.2,3389,30218,Terminal Services Encryption Level is not FIPS-140 Compliant,1,X192.168.142.2,3389,57690,Terminal Services Encryption Level is Medium or Low,2,X192.168.142.2,3389,58453,Terminal Services Doesn't Use Network Level Authentication (NLA) Only,2,X192.168.142.2,3389,45411,SSL Certificate with Wrong Hostname,2,X192.168.142.2,443,45411,SSL Certificate with Wrong Hostname,2,X192.168.142.2,3389,35291,SSL Certificate Signed Using Weak Hashing Algorithm,2,X192.168.142.2,3389,57582,SSL Self-Signed Certificate,2,X192.168.142.2,3389,51192,SSL Certificate Cannot Be Trusted,2,X192.168.142.2,445,57608,SMB Signing not required,2,X

Nmap

$ sr2t --nmap example/nmap.xml -oX example.xlsx

生成文本表格至stdout:

$ sr2t --nmap example/nmap.xml --nmap-servicesNmap TCP:+-----------------+----+----+----+-----+-----+-----+-----+------+------+------+|                 | 53 | 80 | 88 | 135 | 139 | 389 | 445 | 3389 | 5800 | 5900 |+-----------------+----+----+----+-----+-----+-----+-----+------+------+------+| 192.168.23.78   | X  |    | X  |  X  |  X  |  X  |  X  |  X   |      |      || 192.168.27.243  |    |    |    |  X  |  X  |     |  X  |  X   |  X   |  X   || 192.168.99.164  |    |    |    |  X  |  X  |     |  X  |  X   |  X   |  X   || 192.168.228.211 |    | X  |    |     |     |     |     |      |      |      || 192.168.171.74  |    |    |    |  X  |  X  |     |  X  |  X   |  X   |  X   |+-----------------+----+----+----+-----+-----+-----+-----+------+------+------+Nmap Services:+-----------------+------+-------+---------------+-------+| ip address      | port | proto | service       | state |+-----------------+------+-------+---------------+-------+| 192.168.23.78   | 53   | tcp   | domain        | open  || 192.168.23.78   | 88   | tcp   | kerberos-sec  | open  || 192.168.23.78   | 135  | tcp   | msrpc         | open  || 192.168.23.78   | 139  | tcp   | netbios-ssn   | open  || 192.168.23.78   | 389  | tcp   | ldap          | open  || 192.168.23.78   | 445  | tcp   | microsoft-ds  | open  || 192.168.23.78   | 3389 | tcp   | ms-wbt-server | open  || 192.168.27.243  | 135  | tcp   | msrpc         | open  || 192.168.27.243  | 139  | tcp   | netbios-ssn   | open  || 192.168.27.243  | 445  | tcp   | microsoft-ds  | open  || 192.168.27.243  | 3389 | tcp   | ms-wbt-server | open  || 192.168.27.243  | 5800 | tcp   | vnc-http      | open  || 192.168.27.243  | 5900 | tcp   | vnc           | open  || 192.168.99.164  | 135  | tcp   | msrpc         | open  || 192.168.99.164  | 139  | tcp   | netbios-ssn   | open  || 192.168.99.164  | 445  | tcp   | microsoft-ds  | open  || 192.168.99.164  | 3389 | tcp   | ms-wbt-server | open  || 192.168.99.164  | 5800 | tcp   | vnc-http      | open  || 192.168.99.164  | 5900 | tcp   | vnc           | open  || 192.168.228.211 | 80   | tcp   | http          | open  || 192.168.171.74  | 135  | tcp   | msrpc         | open  || 192.168.171.74  | 139  | tcp   | netbios-ssn   | open  || 192.168.171.74  | 445  | tcp   | microsoft-ds  | open  || 192.168.171.74  | 3389 | tcp   | ms-wbt-server | open  || 192.168.171.74  | 5800 | tcp   | vnc-http      | open  || 192.168.171.74  | 5900 | tcp   | vnc           | open  |+-----------------+------+-------+---------------+-------+

输出至CSV文件:

$ sr2t --nmap example/nmap.xml -oC example$ cat example_nmap_tcp.csvip address,53,80,88,135,139,389,445,3389,5800,5900192.168.23.78,X,,X,X,X,X,X,X,,192.168.27.243,,,,X,X,,X,X,X,X192.168.99.164,,,,X,X,,X,X,X,X192.168.228.211,,X,,,,,,,,192.168.171.74,,,,X,X,,X,X,X,X

Nikto

$ sr2t --nikto example/nikto.xml -oX example/nikto.xlsx

生成文本表格至stdout:

$ sr2t --nikto example/nikto.xml+----------------+-----------------+-------------+----------------------------------------------------------------------------------+-------------+| target ip      | target hostname | target port | description                                                                      | annotations |+----------------+-----------------+-------------+----------------------------------------------------------------------------------+-------------+| 192.168.178.10 | 192.168.178.10  | 80          | The anti-clickjacking X-Frame-Options header is not present.                     |      X      || 192.168.178.10 | 192.168.178.10  | 80          | The X-XSS-Protection header is not defined. This header can hint to the user     |      X      ||                |                 |             | agent to protect against some forms of XSS                                       |             || 192.168.178.10 | 192.168.178.10  | 80          | The X-Content-Type-Options header is not set. This could allow the user agent to |      X      ||                |                 |             | render the content of the site in a different fashion to the MIME type           |             |+----------------+-----------------+-------------+----------------------------------------------------------------------------------+-------------+

输出至CSV文件:

$ sr2t --nikto example/nikto.xml -oC example$ cat example_nikto.csvtarget ip,target hostname,target port,description,annotations192.168.178.10,192.168.178.10,80,The anti-clickjacking X-Frame-Options header is not present.,X192.168.178.10,192.168.178.10,80,"The X-XSS-Protection header is not defined. This header can hint to the useragent to protect against some forms of XSS",X192.168.178.10,192.168.178.10,80,"The X-Content-Type-Options header is not set. This could allow the user agent torender the content of the site in a different fashion to the MIME type",X

Drible

$ sr2t --dirble example/dirble.xml -oX example.xlsx

生成文本表格至stdout:

$ sr2t --dirble example/dirble.xml+-----------------------------------+------+-------------+--------------+-------------+---------------------+--------------+-------------+| url                               | code | content len | is directory | is listable | found from listable | redirect url | annotations |+-----------------------------------+------+-------------+--------------+-------------+---------------------+--------------+-------------+| http://example.org/flv            | 0    | 0           | false        | false       | false               |              |      X      || http://example.org/hire           | 0    | 0           | false        | false       | false               |              |      X      || http://example.org/phpSQLiteAdmin | 0    | 0           | false        | false       | false               |              |      X      || http://example.org/print_order    | 0    | 0           | false        | false       | false               |              |      X      || http://example.org/putty          | 0    | 0           | false        | false       | false               |              |      X      || http://example.org/receipts       | 0    | 0           | false        | false       | false               |              |      X      |+-----------------------------------+------+-------------+--------------+-------------+---------------------+--------------+-------------+

输出至CSV文件:

$ sr2t --dirble example/dirble.xml -oC example$ cat example_dirble.csvurl,code,content len,is directory,is listable,found from listable,redirect url,annotationshttp://example.org/flv,0,0,false,false,false,,Xhttp://example.org/hire,0,0,false,false,false,,Xhttp://example.org/phpSQLiteAdmin,0,0,false,false,false,,Xhttp://example.org/print_order,0,0,false,false,false,,Xhttp://example.org/putty,0,0,false,false,false,,Xhttp://example.org/receipts,0,0,false,false,false,,X

Testssl

$ sr2t --testssl example/testssl.json -oX example.xlsx

生成文本表格至stdout:

$ sr2t --testssl example/testssl.json+-----------------------------------+------+--------+---------+--------+------------+-----+---------+---------+----------+| ip address                        | port | BREACH | No HSTS | No PFS | No TLSv1.3 | RC4 | TLSv1.0 | TLSv1.1 | Wildcard |+-----------------------------------+------+--------+---------+--------+------------+-----+---------+---------+----------+| rc4-md5.badssl.com/104.154.89.105 | 443  |   X    |    X    |   X    |     X      |  X  |    X    |    X    |    X     |+-----------------------------------+------+--------+---------+--------+------------+-----+---------+---------+----------+

输出至CSV文件:

$ sr2t --testssl example/testssl.json -oC example$ cat example_testssl.csvip address,port,BREACH,No HSTS,No PFS,No TLSv1.3,RC4,TLSv1.0,TLSv1.1,Wildcardrc4-md5.badssl.com/104.154.89.105,443,X,X,X,X,X,X,X,X

Fortify

$ sr2t --fortify example/fortify.fpr -oX example.xlsx

生成文本表格至stdout:

$ sr2t --fortify example/fortify.fpr+--------------------------+-----------------------+-------------------------------+----------+------------+-------------+|                          |          type         |            subtype            | severity | confidence | annotations |+--------------------------+-----------------------+-------------------------------+----------+------------+-------------+| example1/web.xml:135:135 | J2EE Misconfiguration | Insecure Transport            |   3.0    |    5.0     |      X      || example2/web.xml:150:150 | J2EE Misconfiguration | Insecure Transport            |   3.0    |    5.0     |      X      || example3/web.xml:109:109 | J2EE Misconfiguration | Incomplete Error Handling     |   3.0    |    5.0     |      X      || example4/web.xml:108:108 | J2EE Misconfiguration | Incomplete Error Handling     |   3.0    |    5.0     |      X      || example5/web.xml:166:166 | J2EE Misconfiguration | Insecure Transport            |   3.0    |    5.0     |      X      || example6/web.xml:2:2     | J2EE Misconfiguration | Excessive Session Timeout     |   3.0    |    5.0     |      X      || example7/web.xml:162:162 | J2EE Misconfiguration | Missing Authentication Method |   3.0    |    5.0     |      X      |+--------------------------+-----------------------+-------------------------------+----------+------------+-------------+

输出至CSV文件:

$ sr2t --fortify example/fortify.fpr -oC example$ cat example_fortify.csv,type,subtype,severity,confidence,annotationsexample1/web.xml:135:135,J2EE Misconfiguration,Insecure Transport,3.0,5.0,Xexample2/web.xml:150:150,J2EE Misconfiguration,Insecure Transport,3.0,5.0,Xexample3/web.xml:109:109,J2EE Misconfiguration,Incomplete Error Handling,3.0,5.0,Xexample4/web.xml:108:108,J2EE Misconfiguration,Incomplete Error Handling,3.0,5.0,Xexample5/web.xml:166:166,J2EE Misconfiguration,Insecure Transport,3.0,5.0,Xexample6/web.xml:2:2,J2EE Misconfiguration,Excessive Session Timeout,3.0,5.0,Xexample7/web.xml:162:162,J2EE Misconfiguration,Missing Authentication Method,3.0,5.0,X

项目地址

sr2t:【GitLab传送门】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringCloud】Ribbon源码解析

ribbon是一个负载均衡组件,它可以将请求分散到多个服务提供者实例中,提高系统的性能和可用性。本章分析ribbon是如何实现负载均衡的 1、LoadBalanced 消费者在引入ribbon组件后,给http客户端添加LoadBalanced注解就能启用负载均衡功能。Load…

压缩包怎么解压,解压压缩包不损坏文件

常见格式: ZIP:最常见的压缩文件格式之一,支持跨平台。RAR:另一种常见的压缩文件格式,通常压缩率比ZIP高,但不如ZIP普及。7Z:来自7-Zip的压缩格式,支持更高的压缩率和一些高级特性。…

手机照片数据恢复,2个技巧解决你的疑惑与困扰

手机照片是我们日常生活中记录美好瞬间的重要工具,然而,当照片存储量越来越大,以至于手机内存不足时,我们就不得不放弃一部分。照片数据恢复是否还有希望呢?当然啦!本文将为你提供2个实用的技巧&#xff0c…

虚拟机配置与windows之间文件夹共享samba服务:

虚拟机配置与windows之间文件夹共享samba服务: #输入安装命令: 第一步: 下载samba cd /etc/ sudo apt-get install samba第二步: 配置用户 sudo smbpasswd -a 虚拟机用户名第三步: 进入配置文件配置共享文件 sudo vim /etc/samba/smb.conf末尾输入以下内容: [s…

经典递归题 扩充序列 两种做法

一道经典递归题,两种做法,常规递归做法和模拟数学规律解法 3695. 扩充序列 - AcWing题库 扩充序列 样例解释 对于样例 1,经过 2 次扩充,得到序列 [1,2,1,3,1,2,1]其第 2 个元素为 2。 对于样例 2,经过 3次扩充&…

对不起,AI大模型不是风口

“我们正处在全新起点,这是一个以大模型为核心的人工智能新时代,大模型改变了人工智能,大模型即将改变世界。”——5月26日,百度创始人、董事长兼CEO李彦宏先生在2023中关村论坛发表了《大模型改变世界》演讲。 李彦宏指出&#…

【SpringCloud】Hystrix源码解析

hystrix是一个微服务容错组件,提供了资源隔离、服务降级、服务熔断的功能。这一章重点分析hystrix的实现原理 1、服务降级 CAP原则是分布式系统的一个理论基础,它的三个关键属性分别是一致性、可用性和容错性。当服务实例所在服务器承受过大的压力或者受…

前端工程化09-webpack静态的模块化打包工具(未完结)

9.1、开发模式的进化历史 webpacks是一个非常非常的强大的一个工具,相应的这个东西的学习也是有一定的难度的,里边的东西非常的多,里面涉及到的 概念的话也是非常非常的多的。 这个东西既然非常重要,那么在我们前端到底处于怎样…

HCIA4.26-5.10

OSPF ——开放式最短路径优先协议 无类别链路状态IGP动态路由协议 距离矢量协议 运行距离矢量协议的路由器会周期性的泛洪自己的路由表,通过路由之间的交互,每台路由器都从相邻的路由器学习到路由条目,随后加载进自己的路由表中。对于网络…

Python代码分析和修复工具库之coala使用详解

概要 代码质量在软件开发中至关重要,保持代码的可读性、一致性和易维护性是每个开发者的目标。coala 是一个开源的代码分析和修复工具,旨在帮助开发者自动化代码质量检查,支持多种编程语言,包括 Python、C++、JavaScript 等。通过使用 coala,开发者可以方便地集成代码检查…

AI时代的软件工程:挑战与改变

人工智能(AI)正以惊人的速度改变着我们的生活和工作方式。作为与AI关系最为密切的领域之一,软件工程正经历着深刻的转变。 1 软件工程的演变 软件工程的起源 软件工程(Software Engineering)是关于如何系统化、规范化地…

input调用手机摄像头实现拍照功能vue

项目需要一个拍照功能&#xff0c;实现功能如下图所示:若使用浏览器则可以直接上传图片&#xff0c;若使用手机则调用手机摄像头拍照。 1.代码结构 <!--input标签--> <input ref"photoRef"type"file"accept"image/*"capture"envir…

基于多源数据的密码攻防领域知识图谱构建

源自&#xff1a; 信息安全与通信保密杂志社 作者&#xff1a;曹增辉 , 郭渊博 , 黄慧敏 摘 要 提高网络空间安全的密码攻防能力&#xff0c;需要形成可表示、可共享、可分析的领域知识模式和知识库。利用自顶向下的构建方法&#xff0c;并通过本体构建方法梳理密码攻防领域…

IPSec:互联网协议安全机制的深度解析与应用

目录 一、IPSec概述 二、IPSec的组成 三、IPSec的工作原理 四、IPSec的用途 IPSec&#xff08;Internet Protocol Security&#xff09;作为现代网络通信中不可或缺的安全基础设施&#xff0c;旨在为基于IP&#xff08;Internet Protocol&#xff09;的数据传输提供端到端的…

【Linux】虚拟机安装openEuler 24.03 X86_64 教程

目录 一、概述 1.1 openEuler 覆盖全场景的创新平台 1.2 系统框架 1.3 平台框架 二、安装详细步骤 一、概述 1.1 openEuler 覆盖全场景的创新平台 openEuler 已支持 x86、Arm、SW64、RISC-V、LoongArch 多处理器架构&#xff0c;逐步扩展 PowerPC 等更多芯片架构支持&…

iptables 防火墙(一)

iptables 防火墙&#xff08;一&#xff09; 一、Linux 防火墙基础防火墙分类 二、iptables 的表、链结构规则表规则链数据包过滤的匹配流程 三、编写防火墙规则iptables 的安装iptables的基本语法规则的匹配条件通用匹配隐含匹配显式匹配 四、总结 在网络安全的世界里&#xf…

XRP对接文档

XRP对接文档 技术预研 参考文档 官方文档: https://xrpl.org/list-xrp-in-your-exchange.html 官方文档: https://xrpl.org/list-xrp-as-an-exchange.html#flow-of-funds 交易所对接XRP(内容齐全, 很推荐) https://blog.csdn.net/weixin_40396076/article/details/10020207…

基于51单片机的篮球计时器Proteus仿真

文章目录 一、篮球计时器1.题目要求2.思路3.仿真图3.1 未仿真时3.2 仿真开始3.3 A队进分3.4 B队进分3.5 比赛结束 4.仿真程序4.1 主函数4.2 时间显示4.3 比分显示4.4 按键扫描 二、总结 一、篮球计时器 1.题目要求 以51单片机为核心&#xff0c;设计并制作篮球计时器 基本功…

python实现符文加、解密

在历史悠久的加密技术中&#xff0c;恺撒密码以其简单却有效的原理闻名。通过固定的字母位移&#xff0c;明文可以被转换成密文&#xff0c;而解密则是逆向操作。这种技术不仅适用于英文字母&#xff0c;还可以扩展到其他语言的字符体系&#xff0c;如日语的平假名或汉语的拼音…

医院管理系统带万字文档医院预约挂号管理系统基于spingboot和vue的前后端分离java项目java课程设计java毕业设计

文章目录 仓库管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 仓库管理系统 一、项目演示 医院管理系统 二、项目介绍 基于springbootvue的前后端分离医院管…