基于docker搭建开源扫描器——伏羲

1、简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计。 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 多种协议的弱口令检测 企业的子域名收集 企业内部资产管理与服务探测 端口扫描 AWVS接口调用 2、安装 我这里是基于Ubuntu搭建的,操作步骤仅供参考 下载项目 快速开始 git clone –depth 1 https://github.com/jeffzh3ng/Fuxi-Scanner.git fuxi-scanner; cd fuxi-scanner; docker build -t jeffzh3ng/fuxi-scanner 拉取镜像 docker pull jeffzh3ng/fuxi-scanner 3、启动 docker run -dit -p 5000:5000 -v /opt/data:/data jeffzh3ng/fuxi-scanner:latest 或者 docker run -dit -p 5000:5000 -v /opt/data:/data -v /etc/localtime:/etc/localtime jeffzh3ng/fuxi-scanner // 同步主机与 Docker 时间 …

20个免费开源数据可视化工具

数据可视化正在帮助全球各地的公司识别模式、预测结果并提高业务回报。可视化是数据分析的一个重要方面。简而言之,数据可视化以可视格式表达表格或空间数据的结果。图像具有捕捉注意力和清晰传达思想的能力。这有助于制定决策,并推动改进行动。 通过使用正确的工具,我们可以从原始数据中绘制出令人信服的视觉故事。以下是一些用于数据可视化的免费开源工具: 1. Candela 如果你了解Javascript,则可以使用此开源工具进行丰富的数据可视化操作。Candela是一个可互操作的Web可视化组件的开源套件。 2. Charted Charted是一款免费的数据可视化工具,可让你从CSV文件和Google电子表格中创建线图或条形图。集成组件是收费的,其中包括LineUp组件、UpSet组件、OnSet组件、Vega可视化,以及和GeoJS地理空间可视化组件。该工具不存储数据或操作数据。它完全专注于可视化,带有创建带有标签和注释的行或堆叠图表的基本特性。 3. Datawrapper Datawrapper是一款适合移动设备的数据可视化工具,可让你在几秒钟内创建图表和报告。该工具的免费版本适用于单个用户,支持10,000个月图表视图。使用该工具,你可以创建不同类型的可视化,例如条形图、分割图、堆叠图、点图、箭头图、区域图、散点图、符号图,以及等值线图。你不需要编码或设计技能来使用该工具。 4. Google Data Studio(谷歌数据工作室) 如果你拥有Gmail帐户,Google的数据可视化工具可以免费轻松设置。你可以轻松地将其与Google AdWords、Google Analytics、YouTube Analytics和Google表格等Google产品相关联。 5. Google Charts(谷歌图表) 谷歌公司的另一个简单而免费的数据可视化工具是谷歌图表工具。该工具附带交互式图表和数据工具,用于可视化。 6. Leaflet 该传单是一个开源JavaScript库,允许你制作适合移动设备的交互式地图。该工具有许多用于添加功能的插件,适用于各种桌面和移动平台。 7. MyHeatMap MyHeatMap是一个以交互方式查看地理数据的免费工具。该工具的免费版本仅提供公共地图,你只能为每个免费地图添加20个数据点。该工具可以使用颜色编码的热图轻松理解数据。你还可以在同一个地图中的数据集之间切换。 8. Openheatmap 这个免费工具可让你将电子表格转换为地图。你可以上传CSV文件或Google表格,以便在几秒钟内创建互动式在线地图。该工具可用于通过邮政编码解释客户人口统计数据等。 9. Palladio Palladio是一款免费工具,旨在可视化复杂的历史数据。它具有地图视图、图表视图、列表视图、图库视图等功能。你可以使用该工具可视化CSV、TAB或TSV文件中的数据。使用图表视图,你可以可视化数据维度之间的关系。数据显示为通过线连接的节点。另一方面,列表视图允许您排列数据以生成自定义列表。该工具还具有图库视图,用于在网格中显示数据。 10. RawGraphs RawGraphs是一个开源平台,可帮助你可视化TSV、CSV、DSV或JSON数据。免费工具易于使用,有助于将数据转换为图表。 11. Tableau Public Tableau Public是一款免费的商业智能工具,允许用户创建和共享交互式图表、图形、地图和应用程序。该工具的免费版本带有10GB的存储空间。你可以将它连接到像谷歌表格时,Microsoft Excel、文本文件、JSON文件、空间文件、Web数据连接、OData和统计文件,如SAS(* .sas7bdat)、SPSS数据源(*的.sav)和R (* .rdata,* .rda)。 12. Timeline Timeline是一种免费工具,可用于创建报告的时间表。你可以使用该工具中提供的模板连接自己的Google云端硬盘帐户,以使用Google电子表格创建时间表。使用JSON,你可以创建自定义安装。 13. Chartist.js Chartist.js是一个免费的数据可视化,允许你快速而轻松地创建响应式图表。 该工具具有极大的灵活性和可定制性。你甚至可以使用CSS动画和过渡到SVG元素。 …

Linux下如何统计代码行数

ls # list 显示当前目录列表 -a (all 显示所有文件有.表示隐藏)-l -h 显示详细文件 cd # chang directory cd+目录(cd~表示回家目录cd.表示当前目录..会=回上级目录cd-在最近两次工作目录切换) pwd # print work directory touch # 创建文件 mkdir # make directory(-p创建递归目录 例如:mkdir –p 1/2/3/4) rm # remove (-r删除目录 –f 强制删除文件) clear # 清理终端 tree # 列出树状 cp # copy 原文件 (空格)目标文件 -i(复制文件给提示)-r 文件夹 mv # move原文件 (空格)目标文件-i(复制文件给提示) cat # concatenate …

SQL优化30 tips

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t …

深入浅出MongoDB

一、概述 1.MongoDB是什么?用一句话总结 MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库 2.为什么要使用MongoDB? (1)MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。 { username:’123′, password:’123′ } 使用这样的数据模型,使得MongoDB能在生产环境中提供高读写的能力,吞吐量较于mysql等SQL数据库大大增强。 (2)易伸缩,自动故障转移。易伸缩指的是提供了分片能力,能对数据集进行分片,数据的存储压力分摊给多台服务器。自动故障转移是副本集的概念,MongoDB能检测主节点是否存活,当失活时能自动提升从节点为主节点,达到故障转移。 (3)数据模型因为是面向对象的,所以可以表示丰富的、有层级的数据结构,比如博客系统中能把“评论”直接怼到“文章“的文档中,而不必像myqsl一样创建三张表来描述这样的关系。 3.主要特性 (1)文档数据类型 SQL类型的数据库是正规化的,可以通过主键或者外键的约束保证数据的完整性与唯一性,所以SQL类型的数据库常用于对数据完整性较高的系统。MongoDB在这一方面是不如SQL类型的数据库,且MongoDB没有固定的Schema,正因为MongoDB少了一些这样的约束条件,可以让数据的存储数据结构更灵活,存储速度更加快。 (2)即时查询能力 MongoDB保留了关系型数据库即时查询的能力,保留了索引(底层是基于B tree)的能力。这一点汲取了关系型数据库的优点,相比于同类型的NoSQL redis 并没有上述的能力。 (3)复制能力 MongoDB自身提供了副本集能将数据分布在多台机器上实现冗余,目的是可以提供自动故障转移、扩展读能力。 (4)速度与持久性 MongoDB的驱动实现一个写入语义 fire and forget ,即通过驱动调用写入时,可以立即得到返回得到成功的结果(即使是报错),这样让写入的速度更加快,当然会有一定的不安全性,完全依赖网络。 MongoDB提供了Journaling日志的概念,实际上像mysql的bin-log日志,当需要插入的时候会先往日志里面写入记录,再完成实际的数据操作,这样如果出现停电,进程突然中断的情况,可以保障数据不会错误,可以通过修复功能读取Journaling日志进行修复。 (5)数据扩展 MongoDB使用分片技术对数据进行扩展,MongoDB能自动分片、自动转移分片里面的数据块,让每一个服务器里面存储的数据都是一样大小。 4.C/S服务模型 MongoDB核心服务器主要是通过mongod程序启动的,而且在启动时不需对MongoDB使用的内存进行配置,因为其设计哲学是内存管理最好是交给操作系统,缺少内存配置是MongoDB的设计亮点,另外,还可通过mongos路由服务器使用分片功能。 MongoDB的主要客户端是可以交互的js shell 通过mongo启动,使用js shell能使用js直接与MongoDB进行交流,像使用sql语句查询mysql数据一样使用js语法查询MongoDB的数据,另外还提供了各种语言的驱动包,方便各种语言的接入。 5.完善的命令行工具 mongodump和mongorestore,备份和恢复数据库的标准工具。输出BSON格式,迁移数据库。 mongoexport和mongoimport,用来导入导出JSON、CSV和TSV数据,数据需要支持多格式时有用。mongoimport还能用与大数据集的初始导入,但是在导入前顺便还要注意一下,为了能充分利用好mongoDB通常需要对数据模型做一些调整。 mongosniff,网络嗅探工具,用来观察发送到数据库的操作。基本就是把网络上传输的BSON转换为易于人们阅读的shell语句。 因此,可以总结得到,MongoDB结合键值存储和关系数据库的最好特性。因为简单,所以数据极快,而且相对容易伸缩还提供复杂查询机制的数据库。MongoDB需要跑在64位的服务器上面,且最好单独部署,因为是数据库,所以也需要对其进行热备、冷备处理。 二、进入MongoDB shell 因为本篇文章不是API手册,所有这里对shell的使用也是基础的介绍什么功能可以用什么语句,主要是为了展示使用MongoDB shell的方便性,如果需要知道具体的MongoDB shell语法可以查阅官方文档。 1.切换数据库 use dba 创建数据库并不是必须的操作,数据库与集合只有在第一次插入文档时才会被创建,与对数据的动态处理方式是一致的。简化并加速开发过程,而且有利于动态分配命名空间。如果担心数据库或集合被意外创建,可以开启严格模式 2.插入语法 db.users.insert({username:”smith”}) db.users.save({username:”smith”}) 区别 …

Linux运维整理

运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 初级篇 linux运维人员常用工具拓扑详见:   1.rsync工具 很多地方经常会用到rsync工具,实施几台服务器的同步效果。我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章例子: rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器 inotify+rsync+mutt+msmtp 实现linux文件或者目录自动更新并且实现发邮件给管理员 2.网络服务 服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP、DNS、SAMBA、邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,我所指的不是光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是Web服务器,所以Nginx和Apache要熟悉,特别是Nginx一定要很熟悉才行,至少有些公司还会用Tomcat,这个也最好学一下。 其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。 这面2点只是基础,也是必要条件,不能说是工具,以下才是真正的要掌握的工具。 Samba文件共享服务(共享脚本 让你工作更轻松) Linux web服务安装apache 思路 (源码编译,自己定义服务) FTP(持虚拟用户,并且每个虚拟用户可以具有独立的属性配置) linux 下构建DHCP服务器 3.脚本语言 Shell脚本和另一个脚本语言,Shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的,一般是3P,即Python、Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。 Shell(一) 入门到复杂 自己做的各种脚本实例与解释 Shell(二)入门到复杂 脚本实例(计算器) 4.sed和awk工具 这两个工具必须要掌握,同时还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤Web内容时十分有用,不过在学Shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。 sed 简明教程https://coolshell.cn/articles/9104.html 5.文本处理命令 sort 、tr、cut、paste、uniq、tee等必学,也是结合第3点脚本语言时一并学习的。 6.数据库 首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。 MySQL(手动编译详细思路,以及增删改查、授权、备份还原) 7.防火墙 防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。 防火墙(一)主机型防火墙 防火墙(二)SNAT和DNAT 8.监控工具 我个人建议,最好学这3个:Cacti,Nagios,Zabbix,企业用得最多应该是Nagios和 Zabbix,反正都学吧,但Nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。 CentOS 6.2+Nginx+Nagios,手机短信和QQ邮箱提醒 服务器集中检测Cacti 9.集群和热备 …