Gradle本站镜像

使用Android Studio开发,最痛苦的其中一项是Maven下载数据缓慢,目前已经可以根据在Ubuntu 14.04 系统中的Apache Tomcat上部署Apache Archiva 2.2.1来使用本站的代理服务器的方式进行提速了。另一个痛苦的事情就是下载Gradle工具包的速度异常缓慢了,不仅慢,而且还容易失败。
目前本网站已经提供了Gradle工具包的下载代理,具体的操作就是把services.gradle.org进行域名污染,指向本站的IP地址121.199.27.227
Windows下的解决方法为修改C:\Windows\System32\drivers\etc下的hosts文件,里面增加如下内容:

接着修改Android Studio项目下的gradle\wrapper\gradle-wrapper.properties文件,把其中的

修改为:

注意,上面的修改其实主要是把HTTPS修改成了HTTP,原因在于HTTPS无法进行域名污染。

当然,另外一个比较简单的修改方式为,只要修改distributionUrl为本站地址,更加省事:

目前本站提供的Gradle工具包版本如下:

当前更建议大家使用 腾讯的国内镜像 https://mirrors.cloud.tencent.com/gradle/

参考链接


gradle不同版本下载太慢---腾讯做了国内镜像可以直接下载

使用junit测试IntelliJ IDEA 2016.2建立的maven项目

maven project项目中引入junit插件并不困难,只需要在pom.xml中配置好依赖包即可(IDE环境下,依赖项会自动生成)。另外,test类文件需要按照/src/main/java/的文件结构(main改为test)。
pom.xml

如下图:

mavenjunitpath

Ubuntu 16.04下Tomcat 7.0.68启动服务时候报告“java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;”

在使用Ubuntu16.04 安装openjdk-7-jdk介绍的方式切换Java1.7版本后,在进行代码调试的时候,Tomcat 7.0.68报告如下错误:

这说明Ubuntu 16.04下的Tomcat是在Java 8环境下面编译的,尽管我们已经切换到Java 7下面了,但是Tomcat并不能很好的执行我们的Java 7代码。这个时候的解决方法就是,编译代码的时候指定Java 7,但是在Tomcat执行的时候,指定使用Java 8来运行。

参考链接


Java error java.util.concurrent.ConcurrentHashMap.keySet

IntelliJ IDEA 2016.2使用Spring 4.3.1.RELEASE搭建基于Tomcat-7.0.68的WebSocket应用

先参照 IntelliJ IDEA 2016.1建立Strut2工程并使用Tomcat调试建立新的工程,一步一步操作,包括最后引用Spring框架部分。

经过上面的操作,Spring-WebSocket的包应该已经被默认引入了,如下图所示:

spring-websocket-release-lib

这就意味着我们已经不需要再进行过多的额外配置了。

接下来,我们在src->Tools下面新建一个WebSocket的目录,里面创建三个Java文件。如下图:
WebSocketJavaSourceList

每个文件中的代码如下:
SystemWebSocketHandler.java

WebSocketConfig.java

WebSocketHandshakeInterceptor.java

由于我们使用了Struts2导致我们的网络请求优先被Struts2的拦截器拦截,而Struts2又处理不了websocket请求,结果直接返回了404错误。因此我们需要替换掉默认的在web.xml中定义的Struts2的拦截器,要求Struts2不处理websocket请求。
我们在src->Tools下面新建一个Filter的目录,下面创建一个名为StrutsPrepareAndExecuteFilterEx.java的源代码文件,如下图:

StrutsPrepareAndExecuteFilterEx
具体的代码如下:
StrutsPrepareAndExecuteFilterEx.java

这时候的代码是无法编译通过的,原因是依赖的javaxJar包不存在。此时,我们需要手工引入javax.servlet:javax.servlet-api:3.1.0这个Jar包。如下图:

ToolWebSocketProjectStructure

ToolWebSocketProjectStructureAddJars

ToolWebSocketProjectStructureAddJarsFromMaven

ToolWebSocketProjectStructureAddJarsFromMavenJavaxServerletApi3.1.0

ToolWebSocketProjectStructureAddJarsFromMavenJavaxServerletApi3.1.0Add

ToolWebSocketProjectStructureAddJarsFromMavenJavaxServerletApi3.1.0AddApply

还要注意,刚刚添加进入的javax.servlet:javax.servlet-api:3.1.0这个Jar包,我们只在编译期间使用,在运行时候,使用Tomcat自己实现的那个同名Jar包。也就是这个包是个Provided,而不是Compile关系,具体如下图:

ToolWebSocketProjectStructureKeepOutsideWar

接下来,修改web.xml指定Struts2的拦截器为我们定义的拦截器

修改为

经过上面的修改后,依旧是没办法进行网络访问的,原因是web.xml中的Spring拦截器并没有拦截WebSocket的数据请求。

修改为

注意增加的

下一步,配置Spring的配置文件web->WEB-INF->dispatcher-servlet.xml增加配置信息类的扫描目录包含我们刚刚创建的src->Tools->WebSocket的目录(缺少这一步会导致我们通过注解实现的配置信息类没有被自动加载,导致无法访问),修改后的内容如下:

最后,调用的页面的代码
WebSocket.jsp

最后的客户端显示效果如下图所示:
WebSocketJsp

注意:如此创建的WebSocket是会在两三分钟后主动断开连接的,原因在于WebSocket需要周期性的发送心跳报文来维持连接。后续我们会尝试使用sockjs来实现自动发送心跳的逻辑。

具体的sockjs的接入方法,参考IntelliJ IDEA 2016.2使用Spring 4.3.1.RELEASE,sockjs-1.1.1,stomp-1.2搭建基于Tomcat-7.0.68的WebSocket应用

Ubuntu16.04 安装openjdk-7-jdk

Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下:

# 1. oracle openjdk ppa source

# 2. oracle java jdk ppa source

JDK6 :

JDK 7:

JDK 8:

如果安装成功之后还是不能用可能不有多个版本,选的不对

选出正确的版本

参考链接


Ubuntu16.04 安装openjdk-7-jdk

Windows 7下WireShark抓取127.0.0.1(Loopback)报文

1.如果已经安装了WireShark,并且使用的是WinPacp,那么需要先卸载WireShark

2.WireShark的版本号必须是高于1.12.81.99.9,建议使用2.0.5以上的版本。下载地址为:https://www.wireshark.org/download/注意:一定要使用这个链接,从首页点击进入的页面下载的时候,会错误的定位到一个不正常的CDN服务器上,导致下载速度极慢。也可以在本站下载:Wireshark-win64-2.0.5

3.下载并且安装最新的Npcap,下载链接地址https://github.com/nmap/npcap/releases,为了防止出现被墙的问题,也可以在本服务器下载:npcap-0.08-r4

安装的时候,需要勾选"Install Npcap in WinPcap API-compatible Mode",否则WireShark是没办法识别到Npcap是否已经安装。

4.WireShark启动之后选择"Npcap Loopback Adapter"进行抓包。如下图:

WireSharkAdapterSel

5.目前遇到的问题就是Npcap还不够稳定,有线情况下,基本都是正常的,但是在WiFi情况下的公司网络中,有时候会导致无法访问网络。此时的解决方法是在出口网卡属性中禁用(不需要在全部网卡中禁用,只需要在出口网卡中禁用即可)。

DisableNpcapWFPDriver

参考链接


在VC中用CMarkup类操纵XML

首先到http://www.firstobject.com/dn_markup.htm上面下载CMarkup类,将CMarkup.cppCMarkup.h导入到我们的工程中就可以了。编译可能会出现问题,解决的方法是在CMarkup.cpp的开头加上#include,或者关闭预编译也可以。

1.创建一个XML文档

对于创建一个XML文档,需要实例化一个CMarkup对象,并调用AddElem创建根元素。在这个位置,如果你调用AddElem("School"),文档会简单的装一个空元素. 然后调用AddChildElem在根元素的下面创建元素。

效果如下:

2.浏览特定元素

//***********************这样也可以*****************************/

//*********************或者这样也可以*************************/

//***********结果**************

3.修改元素
//把Department为"English"改为"Chinese"

效果如下:

4.添加
4.1 添加在最后面(用AddElem

效果如下:

4.2 添加在最前面(用InsertElem

效果如下:

5.删除

效果如下:

上面的例子都是不带属性的,下面举一个带有属性的例子。
1.生成XML文档

效果如下:

2.查找特定属性

3.修改特定属性

效果如下:

参考链接


在VC中用CMarkup类操纵XML

GitHub上的十一款热门开源安全工具

恶意软件分析、渗透测试、计算机取证——GitHub托管着一系列引人注目的安全工具、足以应对各类规模下计算环境的实际需求。

Stop Updates

GitHub上的十一款热门开源安全工具

作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条著名的原则甚至是信条。作为广为人知的Linus定律,当讨论开源模式在安全方面的优势时,开放代码能够提高项目漏洞检测效率的理论也被IT专业人士们所普遍接受。

现在,随着GitHub等高人气代码共享站点的相继涌现,整个开源行业开始越来越多地帮助其它企业保护自己的代码与系统,并为其提供多种多样的安全工具与框架,旨在完成恶意软件分析、渗透测试、计算机取证以及其它同类任务。

以下十一个基本安全项目全部立足于GitHub。任何一位对安全代码及系统抱有兴趣的管理员都有必要对它们加以关注。

Stop Updates

Metasploit框架

作为由开源社区及安全企业Rapid7一手推动的项目,Metasploit框架是一套专门用于渗透测试的漏洞开发与交付系统。它的作用类似于一套 漏洞库,能够帮助管理人员通过定位弱点实现应用程序的安全性评估,并在攻击者发现这些弱点之前采取补救措施。它能够被用于对Windows、Linux、 Mac、Android、iOS以及其它多种系统平台进行测试。

“Metasploit为安全研究人员提供了一种途径,能够以相对普遍的格式对安全漏洞加以表达,”Rapid7公司工程技术经理Tod Beardsley指出。“我们针对全部设备类型打造出数千种模块——包括普通计算机、手机、路由器、交换机、工业控制系统以及嵌入式设备。我几乎想不出 有哪种软件或者固件无法发挥Metasploit的出色实用性。”

项目链接:https://github.com/rapid7/metasploit-framework

Stop Updates

Brakeman

Brakeman是一款专门面向Ruby on Rails应用程序的漏洞扫描工具,同时也针对程序中一部分数值向另一部分传递的流程执行数据流分析。用户无需安装整套应用程序堆栈即可使用该软件,Brakeman缔造者兼维护者Justin Collins解释道。

尽管速度表现还称不上无与伦比,但Brakeman在大型应用程序扫描方面只需数分钟、这样的成绩已经超越了“黑盒”扫描工具。虽然最近已经有针对 性地作出了修复,但用户在使用Brakeman时仍然需要留意误报状况。Brakeman应该被用于充当网站安全扫描工具。Collins目前还没有将其 拓展至其它平台的计划,不过他鼓励其他开发人员对项目代码作出改进。

项目链接:https://github.com/presidentbeef/brakeman

Stop Updates

Cuckoo Sandbox

Cuckoo Sandbox是一款自动化动态恶意软件分析系统,专门用于检查孤立环境当中的可疑文件。

“这套解决方案的主要目的是在启动于Windows虚拟机环境下之后,自动执行并监控任何给定恶意软件的异常活动。当执行流程结束之 后,Cuckoo会进一步分析收集到的数据并生成一份综合性报告,用于解释恶意软件的具体破坏能力,”项目创始人Claudio Guarnieri表示。

Cuckoo所造成的数据包括本地功能与Windows API调用追踪、被创建及被删除的文件副本以及分析机内存转储数据。用户可以对该项目的处理与报告机制进行定制,从而将报告内容生成为不同格式,包括 JSON与HTML。Cuckoo Sandbox已经于2010年开始成为谷歌代码之夏中的项目之一。

项目链接:https://github.com/cuckoobox/cuckoo

Stop Updates

Moloch

Moloch是一套可扩展式IPv4数据包捕捉、索引与数据库系统,能够作为简单的Web界面实现浏览、搜索与导出功能。它借助HTTPS与HTTP机制实现密码支持或者前端Apahce能力,而且无需取代原有IDS引擎。

该软件能够存储并检索标准PCAP格式下的所有网络流量,并能够被部署到多种系统之上、每秒流量处理能力也可扩展至数GB水平。项目组件包括捕捉、 执行单线程C语言应用程序、用户也可以在每台设备上运行多个捕捉进程;一套查看器,这实际是款Node.js应用程序、针对Web接口以及PCAP文件传 输;而Elasticsearch数据库技术则负责搜索类任务。

项目链接:https://github.com/aol/moloch

Stop Updates

MozDef: Mozilla防御平台

这款Mozilla防御平台,也就是MozDef,旨在以自动化方式处理安全事件流程,从而为防御者带来与攻击者相对等的能力:一套实时集成化平台,能够实现监控、反应、协作并改进相关保护功能,该项目缔造者Jeff Bryner解释称。

MozDef对传统SEIM(即安全信息与事件管理)功能作出扩展,使其具备了协同事件响应、可视化以及易于集成至其它企业级系统的能 力,Bryner指出。它采用Elasticsearch、Meteor以及MongoDB收集大量不同类型的数据,并能够根据用户需求以任意方式加以保 存。“大家可以将MozDef视为一套立足于Elasticsearch之上的SIEM层,能够带来安全事件响应任务流程,”Bryner表示。该项目于 2013年在Mozilla公司内部开始进行概念验证。

项目链接:https://github.com/jeffbryner/MozDef

Stop Updates

MIDAS

作为由Etsy与Facebook双方安全团队协作打造的产物,MIDAS是一套专门针对Mac设备的入侵检测分析系统框架(即Mac intrusion detection analysis systems,缩写为MIDASes)。这套模块框架提供辅助工具及示例模型,能够对OS X系统驻留机制中出现的修改活动进行检测。该项目基于《自制防御安全》与《攻击驱动防御》两份报告所阐述的相关概念。

“我们发布这套框架的共同目标在于促进这一领域的探讨热情,并为企业用户提供解决方案雏形、从而对OS X终端当中常见的漏洞利用与驻留模式加以检测,”Etsy与Facebook双方安全团队在一份说明文档中指出。MIDAS用户能够对模块的主机检查、验 证、分析以及其它针对性操作进行定义。

项目链接:https://github.com/etsy/MIDAS

Stop Updates

Bro

Bro网络分析框架“与大多数人所熟知的入侵检测机制存在着本质区别,”Bro项目首席开发者兼加州伯克利大学国际计算机科学协会高级研究员Robin Sommer指出。

尽管入侵检测系统通常能够切实匹配当前存在的各类攻击模式,但Bro是一种真正的编程语言,这使其相较于那些典型系统更为强大,Sommer表示。它能够帮助用户立足于高语义层级执行任务规划。

Bro的目标在于搜寻攻击活动并提供其背景信息与使用模式。它能够将网络中的各设备整理为可视化图形、深入网络流量当中并检查网络数据包;它还提供一套更具通用性的流量分析平台。

项目链接:https://github.com/bro/bro

Stop Updates

OS X Auditor

OS X Auditor是一款免费计算机取证工具,能够对运行系统之上或者需要分析的目标系统副本当中的伪迹进行解析与散列处理。包括内核扩展、系统与第三方代理 及后台程序、不适用的系统以及第三方启动项、用户下载文件外中已安装代理。用户的受隔离文件则可以提取自Safari历史记录、火狐浏览器 cookies、Chrome历史记录、社交与邮件账户以及受审计系统中的Wi-Fi访问点。

项目链接:https://github.com/jipegit/OSXAuditor

Stop Updates

The Sleuth Kit

The Sleuth Kit是一套库与多种命令行工具集合,旨在调查磁盘镜像,包括各分卷与文件系统数据。该套件还提供一款插件框架,允许用户添加更多模块以分析文件内容并建立自动化系统。

作为针对微软及Unix系统的工具组合,Sleuth Kit允许调查人员从镜像当中识别并恢复出事件响应过程中或者自生系统内的各类证据。在Sleuth Kit及其它工具之上充当用户界面方案的是Autopsy,这是一套数字化取证平台。“Autopsy更侧重于面向用户,”Sleuth Kit与Autopsy缔造者Brian Carrier指出。“The Sleuth Kit更像是一整套能够为大家纳入自有工具的库,只不过用户无需对该训加以直接使用。”

项目链接:https://github.com/sleuthkit/sleuthkit

Stop Updates

OSSEC

基于主机的入侵检测系统OSSEC能够实现日志分析、文件完整性检查、监控以及报警等功能,而且能够顺利与各种常见操作系统相对接,包括Linux、Mac OS X、Solaris、AIX以及Windows。

OSSEC旨在帮助企业用户满足合规性方面的各类要求,包括PCI与HIPAA,而且能够通过配置在其检测到未经授权的文件系统修改或者嵌入至软件 及定制应用日志文件的恶意活动时发出警报。一台中央管理服务器负责执行不同操作系统之间的策略管理任务。OSSEC项目由Trend Micro公司提供支持。

项目链接:https://github.com/ossec/ossec-hids

Stop Updates

PassiveDNS

PassiveDNS能够以被动方式收集DNS记录,从而实现事故处理辅助、网络安全监控以及数字取证等功能。该软件能够通过配置读取pcap(即数据包捕捉)文件并将DNS数据输出为日志文件或者提取来自特定接口的数据流量。

这款工具能够作用于IPv4与IPv6流量、在TCP与UDP基础上实现流量解析并通过缓存内存内DNS数据副本的方式在限制记录数据量的同时避免给取证工作带来任何负面影响。

项目链接:https://github.com/gamelinux/passivedns

中文翻译:GitHub上的十一款热门开源安全工具

英文原文:http://www.infoworld.com/slideshow/163151/11-open-source-security-tools-catching-fire-github-249652

在使用了NVIDIA显卡的Windows上出现“UpdatusUser”用户

在使用了NVIDIA显卡的Windows上出现“UpdatusUser”用户,在"控制面板"->"系统和安全"->"管理工具"->"计算机管理"->"本地用户和组"->"用户"中可以看到这个用户,他的描述是"NVIDIA更新软件使用的账户"。具体的描述信息参考NVIDIA官网:

这个账号的存在有些莫名奇妙,一方面他安全性存疑,另外一方面,这个用户生成了一个“UpdatusUser”的文件夹,稍微时间长一些,几百兆的空间就被莫名奇妙的占据了。

删除这个文件夹的方式非常简单:

1.在"控制面板"->"程序"->"程序和功能"里面卸载一个名为"NVIDIA 更新程序"(英文系统的话为"NVIDIA Update",繁体中文系统"NVIDIA 更新程式")后面是版本号。卸载这个应用。
2.在"控制面板"->"系统和安全"->"管理工具"->"计算机管理"->"本地用户和组"->"用户"中,删除“UpdatusUser”用户。
3.重启电脑后,删除“UpdatusUser”用户目录。

参考链接


[Windows 8.1] 如何处理 C:\Users 使用者文件夹中多了 UpdatusUser 文件夹