Chaospace

Reshape the world by engineering chaos


  • 首页

  • 分类

  • 归档

  • 站点地图

  • 公益 404

  • 搜索

Songbird -- Play music play the web

发表于 2016-04-06 | 分类于 软件

Songbird picture

“Songbird promises to be the Firefox of media players.”

—Aaron Boodman, Greasemonkey  Songbird (http://www.songbirdnest.com ) : 一个开源桌面网络播放器,除了具有一般播放器的功能外,还可以不用离开网页就播放其中的 MP3. 它把网页当成一个可以播放, 保存和订阅的动态播放列表。从 Songbird 自身来讲,它已经在媒体播放和网络浏览之间找到了一个恰当的平衡点。这就是 Songbird 显得与众不同的地方。它的核心开发人员曾经开发 songbird.png 过 Winmap 和 Yahoo!Music Engine.

详细使用情况,请观看使用简介。   http://www.songbirdnest.com/screencast/

Songbird 建构在 XUL 框架之上,这点与 Firefox 类似,能够在 Windows、Mac OS X、Linux 之上运行。本身也支持扩展和皮肤,这使 Songbird 具有很好的开放性和延展性。虽然刚推出不久,但具有无限的潜力,很有可能改变人们听音乐的方式。成为下一代浏览器的代表。

当然,作为一个版本 0.2 的开发者预览版,bug 还是很多的, 距离日常使用,还有一段距离。但是,其对待网络音乐的创新想法,已经一起了越来越多的人的注意。来自世界各地的软件爱好者正在积极的改进和完善它。相信不久的将来,这只唱歌的小鸟一定会变成飞舞的凤凰。

2015-05-19 更新

Songbird1.0 已经正式发布了。Songbird 最独特的功能就是把浏览器与媒体播放器融合起来,在浏览网络的同时就可以方便的播放网页中的音乐。在这个在线播放逐渐成为主流的时代,Songbird 绝对有很大的发展潜力。作为 Mozilla 家族的一员,它和火狐、雷鸟一样,具有跨平台(Windows,Linux ,Mac)的特点,同样也遗传了耗费内存的缺点。个人比较喜欢简洁的风格,所以相对于 Songbird,我更喜欢使用 Audacious。

Songbird 是我参加的第一个开源项目。最早的时候,0.2 版大概,在尝鲜的时候发现播放器的界面是乱码。看代码之后发现是资源文件错误,虽然预留了国际化文件,但是并没有真正的汉化。于是花了两天的时间把程序汉 化了一遍,打包寄给了作者。看着一个程序在自己的工作下变得稍微有点完善,是一件很令人兴奋的事情:世界(中一个小软件的一个版本)在自己的作用下,发生 了切切实实的改变,而这个改变,会让世界更接近完美。

后来,Songbird 的翻译转移到网页上,Web2.0 的界面让翻译变得傻瓜化。而因为很少使用 Songbird,后面的许多新词条的翻译已经不是我做的了。但是从某种意义上说,Songbird 改变了我的人生轨迹。如果没有 Songbird,我还会做软件么?还会做 Linux 么?也许吧,但是概率至少也要打六折。在我看来,Songbird 不仅是唱歌的小鸟,更是扇动翅膀的蝴蝶。

网络安全工具汇总

发表于 2016-04-06 | 分类于 技术

转自硅谷动力,天天安全网 tulip 翻译,原文在 http://sectools.org/。

在 2000 和 2003 年非常成功的推出了安全工具调查后,Insecure.Org 非常高兴为大家带来 2006 年度的安全工具调查。我 -Fyodor 对 nmap-hackers 邮件列表中的用户进行了调查,让大家来分享他们最喜欢用的工具,结果有 3243 名用户提供了反馈信息。我从反馈信息中选取了大家最喜欢的前 100 种工具, 并将它们进行了分类。建议安全界人士仔细阅读这份列表,并对不熟悉或未听说过的工具进行研究,相信会有很大帮助。我自己就从中发现了很多以前没有使用过但 非常好用的工具。当很多菜鸟问我“我不知道当一个黑客该从何开始”时,我就让他们来读读这篇文章。

受访者被要求列出各种平台上的开源和商业工具。商业工具会在列表中进行标注。Nmap Security Scanner 没有参与投票,因为调查是在 Nmap 的邮件列表中进行的。因为受访者多为黑客的原因,所以此列表中攻击型的工具偏多一些,防守型的则少一些。

列 表中每个工具都含有以下一种或几种属性:2003 年调查列表中未出现的工具;相对于 2003 年调查列表排名升或降;需要花钱购买。但可以免 费获得限制、演示、试用版本软件;可以工作于 Linux 平台之上;可以工作于 OpenBSD、FreeBSD、Solaris 或其它 UNIX 平台之上;可以工作于苹果 Mac OS X 平台之上;可以工作于微软 Windows 平台之上;提供命令行操作方式;提供图形化用户界面;在互联网上可以找到源代码。

如果您发现列表中的工具有更新或者有其它建议–或者有更好的工具图标 可以发送邮件给我。如果您的工具入选此列表了,或者您认为您网站的访客也许会对此列表感兴趣,欢迎您通过 link banners 把本文链接到您网站上。以下开始为正式列表,按受欢迎程度降序排列:

#1 Nessus:最好的 UNIX 漏洞扫描工具

Nessus 是最好的免费网络漏洞扫描器,它可以运行于几乎所有的 UNIX 平台之上。它不止永久升级,还免费提供多达 11000 种插件(但需要注册并接受 EULA- acceptance–终端用户授权协议)。它的主要功能是远程或本地(已授权的)安全检查,客户端 / 服务器架构,GTK(Linux 下的一种图形界 面)图形界面,内置脚本语言编译器,可以用其编写自定义插件,或用来阅读别人写的插件。Nessus 3 已经开发完成(now closed source),其现阶段仍然免费,除非您想获得最新的插件。

#2 Wireshark:网络嗅探工具

Wireshark (2006 年夏天之前叫做 Ethereal)是一款非常棒的 Unix 和 Windows 上的开源网络协议分析器。它可以实时检测网络通讯数据,也可以检测其抓取的网络通讯数据快照文 件。可以通过图形界面浏览这些数据,可以查看网络通讯数据包中每一层的详细内容。Wireshark 拥有许多强大的特性:包含有强显示过滤器语言 (rich display filter language)和查看 TCP 会话重构流的能力;它更支持上百种协议和媒体类型; 拥有一个类似 tcpdump(一个 Linux 下的网络协议分析工具)的名为 tethereal 的的命令行版本。不得不说一句,Ethereal 已经饱受许 多可远程利用的漏洞折磨,所以请经常对其进行升级,并在不安全网络或敌方网络(例如安全会议的网络)中谨慎使用之。

#3 Snort:一款广受欢迎的开源 IDS(Intrusion Detection System)(入侵检测系统)工具

这 款小型的入侵检测和预防系统擅长于通讯分析和 IP 数据包登录(packet logging)。Snort 除了能够进行协议分析、内容搜索和包含其它许多预处理程序,还可以检测上千种蠕虫病毒、漏洞、端口扫描以及其它可疑行为检 测。Snort 使用一种简单的基于规则的语言来描述网络通讯,以及判断对于网络数据是放行还是拦截,其检测引擎是模块化的。 用于分析 Snort 警报的网页形式的引擎 Basic Analysis and Security Engine (BASE)可免费获得。

开源的 Snort 为个人、小企业、集团用户提供良好的服务。其母公司 SourceFire 提供丰富的企业级特性和定期升级以丰富其产品线。提供(必须注册)5 天免费的规则试用,您也可以在 Bleeding Edge Snort 找到很多免费规则。

#4 Netcat:网络瑞士军刀

这 个简单的小工具可以读和写经过 TCP 或 UDP 网络连接的数据。它被设计成一个可靠的可以被其它程序或脚本直接和简单使用的后台工具。同时, 它也是一个功能多样的网络调试和检查工具,因为它可以生成几乎所有您想要的网络连接,包括通过端口绑定来接受输入连接。Netcat 最早由 Hobbit 在 1995 年发布,但在其广为流传的情况下并没有得到很好的维护。现在 nc110.tgz 已经很难找了。这个简单易用的工具促使了很多人写出了很多其它 Netcat 应用,其中有很多功能都是原版本没有的。其中最有趣的是 Socat,它将 Netcat 扩展成可以支持多种其它 socket 类型,SSL 加密, SOCKS 代理,以及其它扩展的更强大的工具。它也在本列表中得到了自己的位置(第 71 位)。还有 Chris Gibson’s Ncat,能够提供更多对便携设备的支持。其它基于 Netcat 的工具还有 OpenBSD’s nc,Cryptcat,Netcat6,PNetcat,SBD,又叫做 GNU Netcat。

#5 Metasploit Framework:黑掉整个星球

2004 年 Metasploit 的发布在安全界引发了强烈的地震。没有一款新工具能够一发布就挤进此列表的 15 强(也就是说 2000 年和 2003 年的调查没有这种情况),更何况此工具更在 5 强之列,超过了很多广为流传的诞生了几十年的老牌工具。它是一个强大的开源平台,供开发、测试和使用 恶意代码。这种可扩展的模型将负载控制、编码器、无操作生成器和漏洞整合在一起,使得 Metasploit Framework 成为一种研究高危漏洞的途径。它自带上百种漏洞,还可以在 online exploit building demo(在线漏洞生成演示)看到如何生成漏洞。这使得您自己编写漏洞变得更简单,它势必将提升非法 shellcode 代码的水平,扩大网络阴暗面。与其 相似的专业漏洞工具,例如 Core Impact 和 Canvas 已经被许多专业领域用户使用。Metasploit 降低了这种能力的门槛,将其推广给大众。

#6 Hping2:一种网络探测工具,是 ping 的超级变种

这 个小工具可以发送自定义的 ICMP,UDP 和 TCP 数据包,并接收所有反馈信息。它的灵感来源于 ping 命令,但其功能远远超过 ping。 它还包含一个小型的路由跟踪模块,并支持 IP 分段。此工具可以在常用工具无法对有防火墙保护的主机进行路由跟踪 /ping/ 探测时大显身手。它经常可以帮 助您找出防火墙的规则集,当然还可以通过它来学习 TCP/IP 协议,并作一些 IP 协议的实验。

#7 Kismet:一款超强的无线嗅探器

Kismet 是一款基于命令行(ncurses)的 802.11 layer2 无线网络探测器、嗅探器、和入侵检测系统。它对网络进行被动嗅探(相对于许多主动工具,例如 NetStumbler),可以发现隐形网络(非 信标)。它可以通过嗅探 TCP、UDP、ARP 和 DHCP 数据包来自动检测网络 IP 段,以 Wireshark/TCPDump 兼容格式记录通讯日志,更加 可以将被检测到的网络分块并按照下载的分布图进行范围估计。如您所想,这款工具一般被 wardriving 所使用。嗯!还有 warwalking、 warflying 和 warskating……

#8 Tcpdump:最经典的网络监控和数据捕获嗅探器

在 Ethereal(Wireshark)出现之前大家都用 Tcpdump,而且很多人现在还在一直使用。它也许没有 Wireshark 那么 多花里胡哨的东西(比如漂亮的图形界面,亦或数以百计的应用协议逻辑分析),但它能出色的完成很多任务,并且漏洞非常少,消耗系统资源也非常少。它很少添 加新特性了,但经常修复一些 bug 和维持较小的体积。它能很好的跟踪网络问题来源,并能监控网络活动。其 Windows 下的版本叫做 WinDump。 Libpcap/WinPcap 的包捕获库就是基于 TCPDump,它也用在 Nmap 等其它工具中。

#9 Cain and Abel:Windows 平台上最好的密码恢复工具

UNIX 用户经常声称正是因为 Unix 平台下有很多非常好的免费安全工具,所以 Unix 才会成为最好的平台,而 Windows 平台一般不在他 们的考虑范围之内。他们也许是对的,但 Cain & Abel 确实让人眼前一亮。这种只运行于 Windows 平台的密码恢复工具可以作很多事情。它可以通过嗅探网络来找到密码、利用字典破解加密密码、暴力破 解密码和密码分析、记录 VoIP 会话、解码非常复杂的密码、星号查看、剥离缓存密码以及分析路由协议。另外其文档也很齐全(well documented)。

#10 John the Ripper:一款强大的、简单的以及支持多平台的密码破解器

John the Ripper 是最快的密码破解器,当前支持多种主流 Unix (官方支持 11 种,没有计算不同的架构)、DOS、Win32、BeO 和 OpenVMS。它的主要功能就是检测弱 Unix 密码。它支持主流 Unix 下的多 种(3 种)密码哈希加密类型,它们是 Kerberos、AFS 以及 Windows NT/2000/XP LM。其它哈希类型可以通过补丁包加载。如果您希望从一些单词表开始的话,您可以在这里、这里和这里找到。

11 Ettercap:为交换式局域网提供更多保护

Ettercap 是一款基于终端的以太网络局域网嗅探器 / 拦截器 / 日志器。它支持主动和被动的多种协议解析(甚至是 ssh 和 https 这种加 密过的)。还可以进行已建立连接的数据注入和实时过滤,保持连接同步。大部分嗅探模式都是强大且全面的嗅探组合。支持插件。能够识别您是否出在交换式局域 网中,通过使用操作系统指纹(主动或被动)技术可以得出局域网结构。

#12 Nikto:非常全面的网页扫描器

Nikto 是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过 3200 种有潜在危险的文件 /CGIs;超过 625 种服务器版本;超过 230 种特定服务器问题。扫描项和插件可以自动更新(如果需要)。基于 Whisker/libwhisker 完 成其底层功能。这是一款非常棒的工具,但其软件本身并不经常更新,最新和最危险的可能检测不到。

#13 Ping/telnet/dig/traceroute/whois/netstat:基本命令

虽 然有很多重型的高科技网络安全工具,但是不要忘记其基础!所有网络安全人士都要对这些基本命令非常熟悉,因为它们对大多数平台都适用(在 Windows 平台上 whois 为 tracert)。它们可以随手捏来,当然如果需要使用一些更高级的功能可以选择 Hping2 和 Netcat。

#14 OpenSSH / PuTTY / SSH:访问远程计算机的安全途径

SSH(Secure Shell)现在普遍应用于登录远程计算机或在其上执行命令。它为不安全网络上的两台不互信计算机间通讯提供安全加密,代替非常不可靠的 telnet/rlogin/rsh 交互内容。大多 UNIX 使用开源的 OpenSSH 服务器和客户端程序。Windows 用户更喜欢免费的 PuTTY 客户 端,它也可以运行在多种移动设备上。还有一些 Windows 用户喜欢使用基于终端的 OpenSSH 模拟程序 Cygwin。还有其它很多收费和免费的客户 端。您可以在这里和这里找到。

#15 THC Hydra:支持多种服务的最快的网络认证破解器

如果您需要暴力破解一个 远程认证服务,Hydra 经常会是选择对象。它可以同时对 30 个以上的端口进行基于字典的快速破解,包括 telnet、ftp、http、https、smb、多种数据库及其它服务。和 THC Amap 一样,此 Hydra 版本来自于民间组织 THC。

#16 Paros proxy:网页程序漏洞评估代理

基于 Java 的网页程序漏洞评估代理。支持实时编辑和浏览 HTTP/HTTPS 信息,修改例如 Cookie 和表字段中的内容。它包含有网页通讯记录器、网页小偷(web spider)、哈希计算器和一个常用网页程序攻击扫描器,例如 SQL 注入和跨网站脚本等。

#17 Dsniff:一款超强的网络评估和渗透检测工具套装

由 Dug Song 精心设计并广受欢迎的这款套装包含很多工具。Dsniff、filesnarf、mailsnarf、msgsnarf、urlsnarf 和 webspy 通过被动监视网络以获得敏感数据(例如密码、邮件地址、文件等)。Arpspoof、dnsspoof 和 macof 能够拦截一般很难获取到的 网络通讯信息(例如由于使用了第二层转换(layer-2 switching))。Sshmitm 和 webmitm 通过 ad-hoc PKI 中弱绑定漏洞对 ssh 和 https 会话进行重定向实施动态 monkey-in-the-middle(利用中间人攻击技术,对会话进行劫持)攻击。 Windows 版本可以在这里获取。总之,这是一个非常有用的工具集。它能完成几乎所有密码嗅探需要作的工作。

#18 NetStumbler:免费的 Windows 802.11 嗅探器

Netstumbler 是广为人知的寻找开放无线访问接入点的 Windows 工具(”wardriving”)。其 PDA 上的 WinCE 系统 版本名叫 Ministumbler。此软件当前免费,但只能够运行在 Windows 平台上,且代码不公开。它使用很多主动方法寻找 WAP,而 Kismet 或 KisMAC 则更多使用被动嗅探。

#19 THC Amap:一款应用程序指纹扫描器

Amap 是一款很棒的程序,它可 以检测出某一端口正在被什么程序监听。因为其独有的 version detection 特性,所以其数据库不会象 Nmap 一样变得很大,在 Nmap 检测某一服务失败或者其它软件不起作用时可以考虑使用之。Amap 的另一特 性是其能够解析 Nmap 输出文件。这也是 THC 贡献的另一款很有价值的工具。

#20 GFI LANguard:一款 Windows 平台上的商业网络安全扫描器

GFI LANguard 通过对 IP 网络进行扫描来发现运行中的计算机,然后尝试收集主机上运行的操作系统版本和正在运行的应用程序。我曾经尝试收集到了 Windows 主机上的 service pack 级别、缺少的安全更新、无线访问接入点、USB 设备、开放的共享、开放的端口、正在运行的服务和应用程序、主要注册表项、弱密码、用户和组别以及 其它更多信息。扫描结果保存在一份可自定义 / 可查询的 HTML 报告文档中。它还含有一个补丁管理器,可以检查并安装缺少的补丁。试用版可以免费获得,但只 能使用 30 天。

#21 Aircrack:最快的 WEP/WPA 破解工具

Aircrack 是一套用于破解 802.11a/b/g WEP 和 WPA 的工具套装。一旦收集到足够的加密数据包它可以破解 40 到 512 位的 WEP 密匙,它也可以通过高级加密方法或暴力破解来破解 WPA 1 或 2 网络。套装中包含 airodump(802.11 数据包捕获程序)、aireplay (802.11 数据包注入程序)、aircrack(静态 WEP 和 WPA-PSK 破解),和 airdecap(解密 WEP/WPA 捕获文件)。

#22 Superscan:只运行于 Windows 平台之上的端口扫描器、ping 工具和解析器

SuperScan 是一款 Foundstone 开发的免费的只运行于 Windows 平台之上的不开源的 TCP/UDP 端口扫描器。它其中还包含许多其它网络工具,例如 ping、路由跟踪、http head 和 whois。

#23 Netfilter:最新的 Linux 核心数据包过滤器 / 防火墙

Netfilter 是一款强大的运行于标准 Linux 核心上的包过滤器。它集成了用户空间 IP 列表工具。当前,它支持包过滤(无状态或有状 态)、所有类型的网络地址和端口转换(NAT/NAPT)并支持多 API 层第三方扩展。它包含多种不同模块用来处理不规则协议,例如 FTP。其它 UNIX 平台请参考 Openbsd PF(只用于 OpenBSD)或者 IP Filter。许多个人防火墙(personal firewalls)都支持 Windows (Tiny、Zone Alarm、Norton、Kerio…),但都不提供上述 IP 列表。微软在 Windows XP SP2 中集成了一款非常基础的防火墙,如果您不安装它,它就会不断地提示您安装。

#24 Sysinternals:一款强大的非常全面的 Windows 工具合集

Sysinternals 为 Windows 低级入侵提供很多非常有用的小工具。其中一部分是免费的,有些还附有源代码,其它是需要付费使用的。受访者最喜欢此集合中的以下工具:

ProcessExplorer 监视所有进程打开的所有文件和目录(类似 Unix 上的 LSoF)。

PsTools 管理(执行、挂起、杀死、查看)本地和远程进程。

Autoruns 发现系统启动和登陆时加载了哪些可执行程序。

RootkitRevealer 检测注册表和文件系统 API 异常,用以发现用户模式或内核模式的 rootkit 工具。

TCPView 浏览每个进程的 TCP 和 UDP 通讯终点(类似 Unix 上的 Netstat)。

生产此软件的公司已被微软于 2005 年收购,所以其未来产品线特征无法预测。

#25 Retina:eEye 出品的商业漏洞评估扫描器

象 Nessus 一样,Retina 的功能是扫描网络中所有的主机并报告发现的所有漏洞。eEye 出品,此公司以其 security research 而闻名。

#26 Perl / Python / Ruby:简单的、多用途的脚本语言

常 用的安全问题都能在网上找到工具解决,但使用脚本语言您可以编写您自己的(或编辑现有的)工具,当您需要解决某种特定问题的时候。快速、简 单的脚本语言可以测试、发现漏洞甚至修复系统漏洞。CPAN 上充满了类似 Net::RawIP 和执行协议的程序模块,可以使您的工作更加轻松。

#27 L0phtcrack:Windows 密码猜测和恢复程序

L0phtCrack 也叫作 LC5,用来尝试通过哈希(通过某种访问方式获得的)方法破解诸如 Windows NT/2000 工作站、联网服务器、主域控制器、或活动目录密码,有时它也可以通过嗅探获得密码的哈希值。它还可以通过多种手段来猜测密码(字典、暴力破 解等等)。Symantec 公司 2006 年已经停止了 LC5 的开发,但 LC5 installer 的安装文件随处可以找到。免费试用版只能使用 15 天,Symantec 已经停止出售此软件的注册码,所以如果您不想放弃使用它,就必须 找到一个与其对应的注册码生成器(key generator)。因为 Symantec 不再维护此软件,所以最好尝试用 Cain and Abel 或 John the Ripper 来代替之。

#28 Scapy:交互式数据包处理工具

Scapy 是一款强大的 交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工具和包嗅探工具。它提供多种类别的交互式生成数据包或数 据包集合、对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等等功能。Python 解释器提供交互功能,所以要用到 Python 编程知识(例如 variables、loops、和 functions)。支持生成报告,且报告生成简单。

#29 Sam Spade:Windows 网络查询免费工具

Sam Spade 为许多网络查询的一般工作提供了图形界面和方便的操作。此工具设计用于跟踪垃圾信息发送者,但它还可以用于许多其它的网络探查、管理和安全工 作。它包含许多有用的工具,例如 ping、nslookup、whois、dig、路由跟踪、查找器、原始 HTTP 网页浏览器、DNS 地址转换、SMTP 中继检查、网站搜索等等。非 Windows 用户可以在线使用更多其它工具。

#30 GnuPG / PGP :对您的文件和通讯进行高级加密

PGP 是 Phil Zimmerman 出品的著名加密程序,可以使您的数据免受窃听以及其它危险。GnuPG 是一款口碑很好的遵守 PGP 标准的开源应用(可执行程序名为 gpg)。GunPG 是免费的,而 PGP 对某些用户是收费的。

#31 Airsnort:802.11 WEP 加密破解工具

AirSnort 是一款用来恢复加密密码的无线 LAN(WLAN)工具。Shmoo Group 出品,工作原理是被动监控传输信息,当收集到足够多的数据包后开始计算加密密码。Aircrack 和它很像。

#32 BackTrack:一款极具创新突破的 Live(刻在光盘上的,光盘直接启动) 光盘自启动 Linux 系统平台

这款卓越的光盘自启动 Linux 系统是由 Whax 和 Auditor 合并而成。它以其超级多的安全和防护工具配以丰富的开发环境而闻名。重点在于它的用户模块化设计,用户可以自定义将哪些模块刻到光盘上,例如自己编写的脚本、附加工具、自定义内核等等。

#33 P0f:万能的被动操作系统指纹工具

P0f 能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。 P0f 不增加任何直接或间接的网络负载,没有名称搜索、没有秘密探测、没有 ARIN 查询,什么都没有。某些高手还可以用 P0f 检测出主机上是否有防火墙存 在、是否有 NAT、是否存在负载平衡器等等!

#34 Google:人人喜爱的搜索引擎

Google 当然不是什么安全工 具,但是它超级庞大的数据库却是安全专家和入侵者最好的资源。如果您想了解某一公司,您可以直接用它搜索 “site:target-domain.com”,您可以获得员工姓名、敏感信息(通常公司不对外公开的,但在 Google 上就难说了)、公司内部安装 的软件漏洞等等。同样,如果您在 Google 上发现一个有某个漏洞的网站,Google 还会提供给您其它有相同漏洞的网站列表。其中利用 Google 进行 黑客活动的大师 Johny Long 建立了一个 Google 黑客数据库(Google Hacking Database)还出版了一本如何用 Google 进行黑客活动的书 Google Hacking for Penetration Testers。

#35 WebScarab:一个用来分析使用 HTTP 和 HTTPS 协议的应用程序框架

它 的原理很简单,WebScarab 记录它检测到的会话内容(请求和应答),使用者可以通过多种形式来查看记录。WebScarab 的设计目 的是让使用者可以掌握某种基于 HTTP(S)程序的运作过程;也可以用它来调试程序中较难处理的 bug,也可以帮助安全专家发现潜在的程序漏洞。

#36 Ntop:网络通讯监控器

Ntop 以类似进程管理器的方式显示网络使用情况。在应用程序模式下,它能显示用户终端上的网络状况。在网页模式下,它作为网页服务器,以 HTML 文档形式显示网络状况。它是 NetFlow/sFlow 发射和收集器,通过一个基于 HTTP 的客户端界面来生成以 ntop 为中心的监控程序, RRD(Round Robin Database)(环形数据库)用来持续储存网络通讯状态信息。

#37 Tripwire:很老的文件完整性检查器

一 款文件和目录完整性检查器。Tripwire 是一种可以帮助系统管理员和一般用户监控某一特定文件或目录变化的工具。可以用以对系统文件作 日常(例如:每天)检查,Tripwire 可以向系统管理员通报文件损坏或被篡改情况,所以这是一种周期性的文件破坏控制方法。免费的开源 Linux 版本 可以在 Tripwire.Org 下载到。AIDE 是 UNIX 平台的 Tripwire 替代品。或者 Radmind、RKHunter 和 chkrootkit 也是很好的选择。Windows 用户请使用 Sysinternals 出品的 RootkitRevealer。

#38 Ngrep:方便的数据包匹配和显示工具

ngrep 尽可能多的去实现 GNU grep 的功能,将它们应用于网络层。Ngrep 是一款 pcap-aware 工具,它允许指定各种规则式或 16 进制表达式去对数据负载或数据包进行匹配。 当前支持 TCP、UDP、以太网上的 ICMP、PPP、SLIP、FDDI、令牌环(Token Ring)和空接口(null interfaces),还能理解类似 Tcpdump 和 snoop 等一样形式的 bpf 过滤器逻辑。

#39 Nbtscan:在 Windows 网络上收集 NetBIOS 信息

NBTscan 是一款在 IP 网络上扫描 NetBIOS 名称信息的工具。它通过给指定范围内所有地址发送状态查询来获得反馈信息并以表形式呈现给使用者。每一地址的反馈信息包括 IP 地址、NetBIOS 计算机名、登录用户、MAC 地址。

#40 WebInspect:强大的网页程序扫描器

SPI Dynamics’ WebInspect 应用程序安全评估工具帮您识别已知和未知的网页层漏洞。它还能检测到 Web 服务器的配置属性,以及进行常见的网页攻击,例如参数注入、跨网站脚本、目录游走等等。

#41 OpenSSL:最好的 SSL/TLS 加密库

OpenSSL 项目的目的是通过开源合作精神开发一种健壮的、可以和同类型商业程序媲美的、全功能的,且开源的应用于 SSL v2/v3(Secure Sockets Layer)和 TLS v1(Transport Layer Security)协议的普遍适用的加密库工具集。本项目由世界范围内的志愿者们维护,他们通过互联网联络、计划和开发 OpenSSL 工具集及其相关文 档。

#42 Xprobe2:主动操作系统指纹工具

XProbe 是一款远程主机操作系统探查工具。开发者基于和 Nmap 相同的一些技术(same techniques),并加入了自己的创新。Xprobe 通过 ICMP 协议来获得指纹。

#43 EtherApe:EtherApe 是 Unix 平台上的模仿 etherman 的图形界面网络监控器

包含连接层、IP 和 TCP 三种模式,EtherApe 网络活动图通过不同颜色来标识不同协议。主机和连接的图形大小随通讯情况而变化。它支持以太网、FDDI、令牌环、ISDN、PPP 和 SLIP 设备。它可以实施过滤网络通讯,也可以抓取网络通讯快照文件。

#44 Core Impact:全自动的全面入侵检测工具

Core Impact 可不便宜(先准备个上万美元吧),但它却是公认的最强的漏洞检测工具。它有一个强大的定时更新的专业漏洞数据库,它可以轻易的黑掉一台计算 机,并以它为跳板再去作别的事情。如果您买不起 Core Impact,可以看看比较便宜的 Canvas 或者免费的 Metasploit Framework。当然,三个同时用是最好的了。

#45 IDA Pro:Windows 或 Linux 反编译器和调试器

反 编译器是一块很重要的安全研究方向。它可以帮您拆解微软的补丁,以了解微软未公开并悄悄修补的漏洞,或直接以二进制的方式对某个服务器进行 检测,以找出为何某个存在的漏洞不起作用。反编译器有很多,但 IDA Pro 是遵守二进制包事实标准(de-facto standard)的恶意代码和漏洞研究分析工具。这个图形化的、可编程的、可扩展的、支持多处理器的反编译器现在有了一个和 Windows 一模一样的 Linux(命令行模式)版本。

#46 SolarWinds:网络发现 / 监控 / 攻击系列工具

SolarWinds 生产和销售了许多专业的系统管理工具。安全相关的包括许多网络发现扫描器、一个 SNMP 暴力破解器、路由器密码解密器、TCP 连接重置程序、最快最易用的一个路由器设置下载和上传程序等等。

#47 Pwdump:一款 Windows 密码恢复工具

Pwdump 可以从 Windows 主机中取得 NTLM 和 LanMan 哈希值,无论系统密码是否启用。它还能显示系统中存在的历史密码。数据输出格式为 L0phtcrack 兼容格式,也可以以文件形式输出数据。

#48 LSoF:打开文件列表

这是一款 Unix 平台上的诊断和研究工具,它可以列举当前所有进程打开的文件信息。它也可以列举所有进程打开的通讯 socket(communications sockets)。Windows 平台上类似的工具有 Sysinternals。

#49 RainbowCrack:极具创新性的密码哈希破解器

RainbowCrack 是一款使用了大规模内存时间交换(large-scale time-memory trade-off)技术的哈希破解工具。传统的暴力破解工具会尝试每一个可能的密码,要破解复杂的密码会很费时。RainbowCrack 运用时间交换 技术对破解时间进行预计算,并将计算结果存入一个名叫”rainbow tables”的表里。预计算确实也会花费较长时间,但相对暴力破解来说则短多了,而且一旦预计算完成破解开始,那么破解所需要的时间就非常非常短了。

#50 Firewalk:高级路由跟踪工具

Firewalk 使用类似路由跟踪的技术来分析 IP 数据包反馈,以确定网关 ACL 过滤器类型和网络结构。这款经典的工具在 2002 年十月由 scratch 重写。这款工具的大部分功能 Hping2 的路由跟踪部分也都能实现。

#51 Angry IP Scanner:一款非常快的 Windows IP 扫描器和端口扫描器

Angry IP Scanner 能够实现最基本的 Windows 平台上的主机发现和端口扫描。它的体积非常的小,它还可以通过挂载插件(a few plugins)来获得主机其它信息。

#52 RKHunter:一款 Unix 平台上的 Rootkit 检测器

RKHunter 是一款检测例如 rootkit、后门、漏洞等恶意程序的工具。它采用多种检测手段,包括 MD5 哈希值对比、rootkits 原始文件名检测、文件权限检测,以及 LKM 和 KLD 模块中的可疑字符串检测。

#53 Ike-scan:VPN 检测器和扫描器

Ike- scan 是一款检测 IKE(Internet Key Exchange)服务传输特性的工具,IKE 是 VPN 网络中服务器和远程客户端建立连接的机制。在扫描到 VPN 服务器的 IP 地址后,将改造过的 IKE 数 据包分发给 VPN 网中的每一主机。只要是运行 IKE 的主机就会发回反馈来证明它存在。此工具然后对这些反馈数据包进行记录和显示,并将它们与一系列已知的 VPN 产品指纹进行对比。Ike-scan 的 VPN 指纹包含来自 Checkpoint、Cisco、Microsoft、Nortel 和 Watchguard 的产品。

#54 Arpwatch:持续跟踪以太网 /IP 地址配对,可以检查出中间人攻击

Arpwatch 是 LBNL 网络研究组出品的一款经典的 ARP 中间人(man-in-the-middle)攻击检测器。它记录网路活动的系统日志,并将特定的变更通过 Email 报告给管理员。Arpwatch 使用 LibPcap 来监听本地以太网接口 ARP 数据包。

#55 KisMAC:一款 Mac OS X 上的图形化被动无线网络搜寻器

这 款 Mac OS X 下非常流行的搜寻器和 Kismet 功能差不多,但和 Kismet 不同的是 Kismet 是基于命令行的,而 KisMac 有很漂亮的图形化界面,在 OS X 上出现得也比 Kismet 早。它同时还提供映射、Pcap 兼容格式数据输入、登录和一些解密、验证破解功能。

#56 OSSEC HIDS:一款开源的基于主机的入侵检测系统

OSSEC HIDS 的主要功能有日志分析、完整性检查、rootkit 检测、基于时间的警报和主动响应。除了具有入侵检测系统功能外,它还一般被用在 SEM/SIM (安全事件管理(SEM: Security Event Management)/ 安全信息管理(SIM:Security Information Management))解决方案中。因其强大的日志分析引擎,ISP(Internet service provider)(网络服务提供商)、大学和数据中心用其监控和分析他们的防火墙、入侵检测系统、网页服务和验证等产生的日志。

#57 Openbsd PF:OpenBSD 数据包过滤器

象 其它平台上的 Netfilter 和 IP Filter 一样,OpenBSD 用户最爱用 PF,这就是他们的防火墙工具。它的功能有网络地址转换、管理 TCP/IP 通讯、提供带宽控制和数据包分级控 制。它还有一些额外的功能,例如被动操作系统检测。PF 是由编写 OpenBSD 的同一批人编写的,所以您完全可以放心使用,它已经经过了很好的评估、设计 和编码以避免暴露其它包过滤器(other packet filters)上的类似漏洞。

#58 Nemesis:简单的数据包注入

Nemesis 项目设计目的是为 Unix/Linux(现在也包含 Windows 了)提供一个基于命令行的、小巧的、人性化的 IP 堆栈。此工 具套装按协议分类,并允许对已注入的数据包流使用简单的 shell 脚本。如果您喜欢 Nemesis,您也许对 Hping2 也会感兴趣,它们是互补的关系。

#59 Tor:匿名网络通讯系统

Tor 是一款面向希望提高其网络安全性的广大组织和大众的工具集。Tor 的功能有匿名网页浏览和发布、即时信息、irc、ssh 以及其它一些 TCP 协 议相关的功能。Tor 还为软件开发者提供一个可开发内置匿名性、安全性和其它私密化特性的软件平台。在 Vidalia 可以获得跨平台的图形化界面。

#60 Knoppix:一款多用途的 CD 或 DVD 光盘自启动系统

Knoppix 由一系列典型的 GNU/Linux 软件组成,可以自动检测硬件环境,支持多种显卡、声卡、SCSI 和 USB 设备以及其它外围设 备。KNOPPIX 作为一款高效的 Linux 光盘系统,可以胜任例如桌面系统、Linux 教学光盘、救援系统等多种用途,经过这次在 nmap 中调查证实, 它也是一款很小巧的安全工具。如果要使用更专业的 Linux 安全系统请看 BackTrack。

#61 ISS Internet Scanner:应用程序漏洞扫描器

Internet Scanner 是由 Christopher Klaus 在 92 年编写的一款开源的扫描器工具。现在这款工具已经演变成了一个市值上亿美元生产无数安全产品的公司。

#62 Fport:Foundstone 出品的加强版 netstat

Fport 可以报告所有本地机上打开的 TCP/IP 和 UDP 端口,并显示是何程序打开的端口。所以用它可以快速识别出未知的开放端口以及与其 相关的应用程序。它只有 Windows 版本,但现在很多 UNIX 系统上的 netstat 也提供同样的功能(Linux 请用’netstat -pan’)。SANS article 有 Fport 的使用说明和结果分析方法。

#63 chkrootkit:本地 rootkit 检测器

chkrootkit 是一款小巧易用的 Unix 平台上的可以检测多种 rootkit 入侵的工具。它的功能包括检测文件修改、 utmp/wtmp/last 日志修改、界面欺骗(promiscuous interfaces)、恶意核心模块(malicious kernel modules)。

#64 SPIKE Proxy:HTTP 攻击

Spike Proxy 是一款开源的以发现网站漏洞为目的的 HTTP 代理。它是 Spike Application Testing Suite 的一部分,功能包括自动 SQL 注入检测、 网站爬行(web site crawling)、登录列表暴力破解、溢出检测和目录游走检测。

#65 OpenBSD:被认为是最安全的操作系统

OpenBSD 是将安全作为操作系统首要任务的操作系统之一,甚至有时安全性级别要高于易用性,所以它骄人的安全性是不言而喻的。 OpenBSD 也非常重视系统的稳定性和对硬件的支持能力。也许他们最伟大的创举就是创造了 OpenSSH。 OpenBSD 用户对此系统之上的[pf](OpenBSD 上的防火墙工具,本列表中第 57 位有介绍)也褒奖有佳。

#66 Yersinia:一款支持多协议的底层攻击工具

Yersinia 是一款底层协议攻击入侵检测工具。它能实施针对多种协议的多种攻击。例如夺取生成树的根角色(生成树协议:Spanning Tree Protocol),生成虚拟 CDP(Cisco 发现协议:Cisco Discovery Protocol)邻居、在一个 HSRP(热等待路由协议:Hot Standby Router Protocol)环境中虚拟成一个活动的路由器、制造假 DHCP 反馈,以及其它底层攻击。

#67 Nagios:一款开源的主机、服务和网络监控程序

Nagios 是一款系统和网络监控程序。它可以监视您指定的主机和服务,当被监视对象发生任何问题或问题被解决时发出提示信息。它的主要功能 有监控网络服务(smtp、pop3、http、nntp、ping 等等)、监控主机资源(进程负载、硬盘空间使用情况等等)、当发现问题或问题解决时通 过多种形式发出提示信息(Email、寻呼机或其它用户定义的方式)。

#68 Fragroute/Fragrouter:一款网络入侵检测逃避工具集

Fragrouter 是一款单向分段路由器,发送(接收)IP 数据包都是从攻击者到 Fragrouter,将数据包转换成分段数据流发给受害者。很多入侵检测系统都不能重建一 段被视为一个整体的网络数据(通过 IP 分段和 TCP 流重组),详情请见这篇文章(this classic paper)。Fragrouter 可以帮助骇客在逃避入侵检测后发起基于 IP 的攻击。它是 Dug Song 出品的 NIDSbench 套装中的一部分。Fragroute 是 Dug song 出品的另一款和 Fragrouter 相似的工具。

#69 X-scan:一款网络漏洞扫描器

一 款多线程、支持插件的漏洞扫描器。X-Scan 主要功能有全面支持 NASL(Nessus 攻击脚本语言:Nessus Attack Scripting Language)、检测服务类型、远程操作系统类型(版本)检测、弱用户名 / 密码匹配等等。最新版本可以在这里获取。请注意这是一个中文网站(原文为英 文,所以原文作者提醒英文读者这是个中文网站)。

#70 Whisker/libwhisker:Rain.Forest.Puppy 出品的 CGI 漏洞扫描器和漏洞库

Libwhisker 是一款 Perl 模板集用来测试 HTTP。它的功能是测试 HTTP 服务器上是否存在许多已知的安全漏洞,特别是 CGI 漏 洞。Whisker 是一款基于 libwhisker 的扫描器,但是现在大家都趋向于使用 Nikto,它也是基于 libwhisker 的。

#71 Socat:双向数据传输中继

类 似于 Netcat 的工具,可以工作于许多协议之上,运行于文件、管道、设备(终端或调制解调器等等)、socket(Unix、IP4、 IP6-raw、UDP、TCP)、Socks4 客户端、代理服务器连接、或者 SSL 等等之间。它提供 forking、logging 和 dumping, 和不同模式的交互式处理通讯,以及更多其它选项。它可以作为 TCP 中继(单次触发:one-shot 或者 daemon(Internet 中用于邮件收发的 后台程序))、作为基于 daemon 的动态 Sockes 化(socksifier)、作为 Unix 平台上 sockets 的 shell 接口、作为 IP6 中 继、将面向 TCP 的程序重定向成串行线路(Serial Line)程序、或者建立用来运行客户端或服务器带有网络连接的 shell 脚本相关安全环境(su 和 chroot)。

#72 Sara:安全评审研究助手

SARA 是一款源于 infamous SATAN 扫描器的漏洞评估工具。此工具大约两个月更新一次,出品此工具的开源社区还维护着 Nmap 和 Samba。

#73 QualysGuard:基于网页的漏洞扫描器

在 网站上以服务形式发布, 所以 QualysGuard 没有开发、维护和升级漏洞管理软件或 ad-hoc 安全应用程序的负担。客户端可以安全的通过一个简单易用的网页访问 QualysGuard。QualysGuard 含有 5000 种以上的单一漏洞检查,一个基于推理的扫描引擎,而且漏洞知识库自动天天升级。

#74 ClamAV:一款 UNIX 平台上的基于 GPL(通用公开许可证:General Public License)的反病毒工具集

ClamAV 是一款强大的注重邮件服务器附件扫描的反病毒扫描器。它含有一个小巧的可升级的多线程 daemon、一个命令行扫描器和自动升级 工具。Clam AntiVirus 基于 AntiVirus package 发布的开源病毒库,您也可以将此病毒库应用于您自己的软件中,但是别忘了经常升级。

#75 cheops / cheops-ng:提供许多简单的网络工具,例如本地或远程网络映射和识别计算机操作系统

Cheops 提供许多好用的图形化用户界面网络工具。它含有主机 / 网络发现功能,也就是主机操作系统检测。Cheops-ng 用来探查主机上 运行的服务。针对某些服务,cheops-ng 可以探查到运行服务的应用程序是什么,以及程序的版本号。Cheops 已经停止开发和维护,所以请最好使用 cheops-ng。

#76 Burpsuite:一款网页程序攻击集成平台

Burp suite 允许攻击者结合手工和自动技术去枚举、分析、攻击网页程序。这些不同的 burp 工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用从而发动攻击。

#77 Brutus:一款网络验证暴力破解器

这款 Windows 平台上的暴力破解器通过字典猜测远程系统网络服务密码。它支持 HTTP、POP3、FTP、SMB、TELNET、IMAP、NTP 等等。不开放源码,UNIX 平台上的类似软件有 THC Hydra。

#78 Unicornscan:另类端口扫描器

Unicornscan 是一款通过尝试连接用户系统(User-land)分布式 TCP/IP 堆栈获得信息和关联关系的端口扫描器。它试图为 研究人员提供一种可以刺激 TCP/IP 设备和网络并度量反馈的超级接口。它主要功能包括带有所有 TCP 变种标记的异步无状态 TCP 扫描、异步无状态 TCP 标志捕获、通过分析反馈信息获取主动 / 被动远程操作系统、应用程序、组件信息。它和 Scanrand 一样都是另类扫描器。

#79 Stunnel:用途广泛的 SSL 加密封装器

stunnel 用来对远程客户端和本地机(可启动 inetd 的:inetd-startable)或远程服务器间的 SSL 加密进行封装。它可 以在不修改任何代码的情况下,为一般的使用 inetd daemon 的 POP2、POP3 和 IMAP 服务器添加 SSL 功能。它通过使用 OpenSSL 或 SSLeay 库建立 SSL 连接。

#80 Honeyd:您私人的蜜罐系统

Honeyd 是一个可以在网络上创建虚拟主机的小型 daemon。可以对此虚拟主机的服务和 TCP 进行配置,使其在网络中看起来是在运行某种 操作系统。Honeyd 可以使一台主机在局域网中模拟出多个地址以满足网络实验环境的要求。虚拟主机可以被 ping 通,也可以对它们进行路由跟踪。通过对 配置文件进行设置可以使虚拟计算机模拟运行任何服务。也可以使用服务代理替代服务模拟。它的库有很多,所以编译和安装 Honeyd 比较难。

#81 Fping:一个多主机同时 ping 扫描程序

fping 是一款类似 ping(1)(ping(1)是通过 ICMP(网络控制信息协议 Internet Control Message Protocol)协议回复请求以检测主机是否存在)的程序。Fping 与 ping 不同的地方在于,您可以在命令行中指定要 ping 的主机数量范围,也可 以指定含有要 ping 的主机列表文件。与 ping 要等待某一主机连接超时或发回反馈信息不同,fping 给一个主机发送完数据包后,马上给下一个主机发送 数据包,实现多主机同时 ping。如果某一主机 ping 通,则此主机将被打上标记,并从等待列表中移除,如果没 ping 通,说明主机无法到达,主机仍然留 在等待列表中,等待后续操作。

#82 BASE:基础分析和安全引擎(Basic Analysis and Security Engine)

BASE 是一款基于 PHP 的可以搜索和实施安全事件的分析引擎,她的安全事件数据库来源于很多入侵检测系统、防火墙、网络检测工具生成的安全 事件。它的功能包括一个查找生成器和搜索界面,用来搜索漏洞;一个数据包浏览器(解码器);还可以根据时间、传感器、信号、协议和 IP 地址等生成状态图。

#83 Argus:IP 网络事务评审工具

Argus 是一款固定模型的实时的流量监视器,用来跟踪和报告数据网络通讯流中所有事务的状态和性能。Argus 为流量评估定制了一种数据格式, 其中 包括连通性、容量、请求、丢包、延迟和波动,这些就作为评估事务的元素。这种数据格式灵活易扩展,支持常用流量标识和度量,还可以获得指定的应用程序 / 协 议的信息。

#84 Wikto:网页服务器评估工具

Wikto 是一款检查网页服务器漏洞的工具。它和 Nikto 类似,但是添加了很多其它功能,例如一个整合了 Google 的后台发掘器。Wikto 工作于 MS ..NET 环境下,下载此软件和源代码需要注册。

#85 Sguil:网络安全监控器命令行分析器

Sguil(按 sgweel 发音)是由 network security analysts 出品的网络安全分析工具。Sguil 的主要组件就是一个 Snort/barnyard 实时事件显示界面。它还包含一些网络安全监控的辅助工具和事件驱动的入侵检测系统分析报告。

#86 Scanrand:一个异常快速的无状态网络服务和拓朴结构发现系统

Scanrand 是一款类似 Unicornscan 的无状态主机发现和端口扫描工具。它以降低可靠性来换取异常快的速度,还使用了加密技术防止黑客修改扫描结果。此工具是 Dan Kaminsky 出品的 Paketto Keiretsu 的一部分。

#87 IP Filter:小巧的 UNIX 数据包过滤器

IP Filter 是一款软件包,可以实现网络地址转换(network address translation)(NAT)或者防火墙服务的功能。它可以作为 UNIX 的一个核心模块,也可以不嵌入核心,强烈推荐将其作为 UNIX 的核心模块。 安装和为系统文件打补丁要使用脚本。IP Filter 内置于 FreeBSD、NetBSD 和 Solaris 中。OpenBSD 可以使用 Openbsd PF,Linux 用户可以使用 Netfilter。

#88 Canvas:一款全面的漏洞检测框架

Canvas 是 Aitel’s ImmunitySec 出品的一款漏洞检测工具。它包含 150 个以上的漏洞,它比 Core Impact 便宜一些,但是它也价值数千美元。您也可以通过购买 VisualSploit Plugin 实现在图形界面上通过拖拽就可以生成漏洞。Canvas 偶尔也会发现一些 ODay 漏洞。

#89 VMware:多平台虚拟软件

VMware 虚拟软件允许您在一个系统中虚拟运行另一个系统。这对于安全专家在多平台下测试代码和漏洞非常有用。它只运行在 Windows 和 Linux 平台上,但它可以虚拟运行几乎所有的 x86 操作系统。它对建立沙箱(sandboxes)也非常有用。在 VMware 虚拟系统上感染了恶意软件 不会影响到宿主机器,可以通过加载快照文件恢复被感染了的虚拟系统。VMware 不能创建虚拟系统的镜像文件。VMware 最近刚刚宣布免费。另一款在 Linux 下颇受瞩目的虚拟平台软件是 Xen。

#90 Tcptraceroute:一款基于 TCP 数据包的路由跟踪工具

现 代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP 应答(ICMP echo)或 UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许反向(inbound)TCP 数据包通过防火 墙到达指定端口,这些端口是主机内防火墙背后的一些程序和外界连接用的。通过发送 TCP SYN 数据包来代替 UDP 或者 ICMP 应答数据包,tcptraceroute 可以穿透大多数防火墙。

#91 SAINT:安全管理综合网络工具

SAINT 象 Nessus、ISS Internet Scanner 和 Retina 一样,也是一款商业漏洞评估工具。它以前是运行在 UNIX 系统之上的免费开源工具,但现在收费了。

#92 OpenVPN:全功能 SSL VPN 解决方案

OpenVPN 是一款开源的 SSL VPN 工具包,它可以实现很多功能,包括远程登录、站对站 VPN、WiFi 安全、带有负载平衡的企业级远程登录解决方案、节点控制移交 (failover)、严密的访问控制。OpenVPN 运行于 OSI 2 层或 3 层安全网络,使用 SSL/TLS 工业标准协议,支持灵活的基于证书、智能卡、二元验证的客户端验证方法,允许在 VPN 虚拟接口上使用防火墙规则作 为用户或指定用户组的访问控制策略。OpenVPN 使用 OpenSSL 作为其首选加密库

#93 OllyDbg:汇编级 Windows 调试器

OllyDbg 是一款微软 Windows 平台上的 32 位汇编级的分析调试器。因其直接对二进制代码进行分析,所以在无法获得源代码的时候它非常有用。 OllyDbg 含有一个图形用户界面,它的高级代码分析器可以识别过程、循环、API 调用、交换、表、常量和字符串,它可以加载运行时程序,支持多线程。 OllyDbg 可以免费下载,但不开源。

#94 Helix:一款注重安全防护的 Linux 版本

Helix 是一款自定义 版本的 Knoppix 自启动 Linux 光盘系统。Helix 远不止是一张自启动光盘。除了光盘启动到自定义的 Linux 环境,还具有超强的硬件支持能力,包含许多应付各种问题的软件。Helix 尽量少的接触主机软硬资源。Helix 不自动加载交换(swap)空 间,不自动加载其它任何外围设备。Helix 还可以自动加载 Windows,以应对意外情况。

#95 Bastille:Linux、Mac OS X 和 HP-UX 的安全加强脚本

Bastille 使操作系统固若金汤,减少系统遭受危险的可能,增加系统的安全性。Bastille 还可以评估系统当前的安全性,周期性的报 告每一项安全设置及其工作情况。Bastille 当前支持 Red Hat(Fedora Core、Enterprise 和 Numbered/Classic 版本)、SUSE、Debian、Gentoo 和 Mandrake 这些 Linux 版 本,还有 HP-UX 和 Mac OS X。Bastille 旨在使系统用户和管理员了解如何加固系统。在其默认的最坚固模式下,它不断的询问用户问题,并对这些问题加以解释,根据用户对问题不 同的回答选择不同的应对策略。在其评估模式下,它会生成一份报告旨在告诉用户有哪些安全设置可用,同时也提示用户哪些设置被加固了。

#96 Acunetix Web Vulnerability Scanner:商业漏洞扫描器

Acunetix WVS 自动检查您的网页程序漏洞,例如 SQL 注入、跨网站脚本和验证页面弱密码破解。Acunetix WVS 有着非常友好的用户界面,还可以生成个性化的网站安全评估报告。

#97 TrueCrypt:开源的 Windows 和 Linux 磁盘加密软件

TrueCrypt 是一款非常出色的开源磁盘加密系统。用户可以加密整个文件系统,它可以实时加密 / 解密而不需要用户干涉,只要事先输入密 码。非常巧妙的 hidden volume 特性允许您对特别敏感的内容进行第二层加

An open letter to hobbyists

发表于 2016-04-06 | 分类于 开源

February 3, 1976

By William Henry Gates III

To me, the most critical thing in the hobby market right now is the lack of good software courses, books and software itself. Without good software and an owner who understands programming, a hobby computer is wasted. Will quality software be written for the hobby market?

Almost a year ago, Paul Allen and myself, expecting the hobby market to expand, hired Monte Davidoff and developed Altair BASIC. Though the initial work took only two months, the three of us have spent most of the last year documenting, improving and adding features to BASIC. Now we have 4K, 8K, EXTENDED, ROM and DISK BASIC. The value of the computer time we have used exceeds $40,000.

The feedback we have gotten from the hundreds of people who say they are using BASIC has all been positive. Two surprising things are apparent, however, 1) Most of these “users” never bought BASIC (less than 10% of all Altair owners have bought BASIC), and 2) The amount of royalties we have received from sales to hobbyists makes the time spent on Altair BASIC worth less than $2 an hour.

Why is this? As the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid?

Is this fair? One thing you don’t do by stealing software is get back at MITS for some problem you may have had. MITS doesn’t make money selling software. The royalty paid to us, the manual, the tape and the overhead make it a break-even operation. One thing you do do is prevent good software from being written. Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free? The fact is, no one besides us has invested a lot of money in hobby software. We have written 6800 BASIC, and are writing 8080 APL and 6800 APL, but there is very little incentive to make this software available to hobbyists. Most directly, the thing you do is theft.

What about the guys who re-sell Altair BASIC, aren’t they making money on hobby software? Yes, but those who have been reported to us may lose in the end. They are the ones who give hobbyists a bad name, and should be kicked out of any club meeting they show up at.

I would appreciate letters from any one who wants to pay up, or has a suggestion or comment. Just write to me at 1180 Alvarado SE, #114, Albuquerque, New Mexico, 87108. Nothing would please me more than being able to hire ten programmers and deluge the hobby market with good software.

Bill Gates

General Partner, Micro-Soft

Bill


When you look long into abyss , the abyss also looks into you.

– Friedrich Nietzsche

Mpeg to Theora

发表于 2016-04-05 | 分类于 软件

原来养狗的时候,用相机拍了不少小视频,时间很短但是占的空间很大。所以找了个方法将它们压缩到开源的 Theora 格式。

  1. 安装 ffmpeg2theora

    # emerge ffmpeg2theora

  2. 使用它将一个目录下的全部 MPEG 文件转化到 Theora

    # find . -name “*.MPG” -exec ffmpeg2theora ‘{}’ \;

可变参数宏定义 VA_ARGS

发表于 2016-04-05 | 分类于 代码

宏定义支持参数个数未知的情况,在打印调试信息时很管用。

定义:

#ifdef DEBUG
#define print_dbg(...) printf(__VA_ARGS__)
#else
#define print_dbg(...) 
#endif

使用:

print_dbg(“Total is %d”,total);

如果在编译的时候定义了 DEBUG (添加 -dDEBUG 编译选项),就会打印调试信息。

删除代码

发表于 2016-04-05 | 分类于 代码

删除代码的方法其实很简单:选中代码,并按下 Delete 键。但是程序员似乎不太愿意这么简单直接。看了不少代码,发现残留了许多垃圾。在古老的时代,为了在改错了的情况下恢复回去,可以这么做,而在有了版本控制系统的情况下,这样注释掉代码将会引发混乱。

注释掉几行代码或者用 #if 0 将一段代码删除

// old_function();
new_function();

通常,我看到这样的代码,就不得不去思考为什么用新方法,老函数为什么不行。大部分情况下,根本获得不了什么有用的信息。就像欣赏一幅画,不需知道作品经历了哪些涂改一样。程序员应该展现出完美的代码,而要在代码上留下无用的补丁。希望了解代码演进史的时候,尽管去挖掘版本控制系统就行了。

未被调用的函数

在没有调用上下文的情况下,猜测函数的作用将更加困难。对不会被调用的函数,要分两种情况:如果一个函数已经被另外一个函数取代,就应该将旧函数删除;而如果一个函数是接口的一部分,则予以保留。

标记不确定的删除

有些时候,会不确定一段代码到底该不该删掉。只有在新的代码经过测试验证之后,才能确定。这个时候可以用特殊的注释将他们删除,比如使用 //- 标记每一行。

//- OldWayImUnsureOf(zooey);

 #if 0 //- I don't think I need this with the new FooBar
    OldWayStepOne(fooey);
    ...
    OldWayStepTwenty(hooey);
#endif 

安心删除代码

有时候删除大段代码看上去确实是很激进,但是不用担心,因为代码的删除,总是有原因的。毕竟,需要返回原来代码的机会是少之又少。比较一下需要恢复原来代码的可能性和永远面对丑陋注释的确定性。安心的删除吧,您不会再想念它。

原文:http://nedbatchelder.com/text/deleting-code.html

我的 linux 路程

发表于 2016-04-05 | 分类于 个人

年关将至,稍微总结下下 Linux 发行版的使用历史。关于发行版的优劣不希望引发什么争论,我只是讲讲个人使用的感受和切换的理由。

Red Hat (2005)

最早接触 Linux 是从经典的 Red Hat 9 开始的。从某种意义上说,Red Hat 9 就是一个传奇。在相当长的时间里,红帽就是 Linux 的代名词。而 Red Hat 9 则是曾经的巅峰之作。后来,Red Hat 不复存在,转而产生 Fedora 与 Red Hat 企业版。这个决定在当时确实得到很大的抵制,不过现在看来,红帽做了一个正确的决定。个人桌面应用更倾向于易用与新软件的使用;而企业版最重视稳定性。当这两者的矛盾在同一个发行版中得不到调和的时候,分支就是最好的选择。说来还有些搞笑,我的红帽光盘是从拖鞋门口的盗版小贩手里买的。

Fedora (2006)

装完红帽没用几天,发现一个红的通知图标老闪提示无法升级。网上搜了搜,才知道应该转用 Fedora Core。于是就下了 FC5 装了过去。这个典型的经历从一个侧面表明,Fedora 开始的时候,一直生活在 Red Hat 的阴影之下。知道若干年之后,还有人在水源上问哪里可以下 Red Hat,而解答者就需要不厌其烦的讲解 Fedora 与 Red Hat 的关系。这其实也是我翻译十大发行版介绍的原因。当时的 Fedora 已经通过 yum 解决了 RPM 的依赖问题,但是用起来总是觉得不方便,更新和升级都比较慢(我已经换 ftp.sjtu 了,奈何服务器老挂科)。

Ubuntu (2006 - 2008)

这个时候,有人推荐了 Ubuntu,于是装了 Ubuntu 6.06. 最初的时候发现 apt 非常好用,然后发现论坛上的文档很好,非常适合新手使用。从此一发不可收拾,从 6.06 一直用到 8.10 而且每次都是从 Alpha 1 就开始使用测试版。中间自然经常遇到大大小小的问题,从最早的 MAC 地址绑定;到显示驱动 GLX、Compiz,超炫的立方体等等。个人的能力也随着问题的解决而逐步得到提升。期间,彻底删掉了系统中的 WinXP,并开始了 Launchpad 上的翻译工作。当时倾向于只在 Launchpad 上工作而不把成果提交到上游,因为感觉 Linux 中的发行版有点过多,分散了开发的经历,而希望 Ubuntu 能吸引更多的眼球,率先达到能够与微软相抗衡的程度。现在,的 Ubuntu ,有点像当年的 Red Hat,许多新手把它和 Linux 画上了等号。但是现在,我的看法有了很大的改变,Ubuntu 吸引了很多的新用户,但是在开发方面确实贡献有点少。也许未来的方向,应该是将一部分熟练的 Ubuntu 用户介绍给其他发行版。

Linux From Scratch (2008)

也许 LFS 不应该被成为一个发行版,因为基本上它只是一个供人学习的工具,通过从 0 开始一步一步安装系统需要的程序。我对这个系统的使用,仅限于从头到尾安装了两次,而装完之后就立即删掉了。但是通过 Linux From Scratch, 我对操作系统的认识产生了质的飞跃。在之前,光操作系统这个词都能把我镇住。而从头装卸了一次之后,突然间豁然开朗,操作系统整个的解体了,“提刀而立,为之四顾,为之踌躇满志,善刀而藏之”。所以向每个希望了解操作系统的人推荐这个系统。安装下来,可能需要花费两三天的时间,但是学到的东西,比用 Ubuntu 两三年都要多。

Gentoo (2009-2010)

Gentoo 和 Linux From Scratch 简直是绝配。从某种意义上说,Gentoo 安装的 Stage3,就是 Linux From Scratch 前面准备的编译环境。Linux From Scratch 提供了最基本的系统,而 Gentoo 则是用一种优雅的方式管理软件包的下载、自动补丁和依赖关系解决。和 Ubuntu 不同,Gentoo 提供了最大的灵活性,用户可以按照自己的喜好进行选择而不是简单的提供默认选项。用 Gentoo 一年多了,系统基本没有出过什么问题,滚动升级,不但可以使用最新的软件,而且降低了一次升级许多软件包而产生的危险。即时出了问题,也更容易缩小范围,发现问题的所在。但是 Gentoo 也不是没有问题,编译安装需要不少时间,在以前我在台式机中用 xfce 最小安装,还算可以接受。现在换了笔记本,一直那么高负荷编译,发热大,硬盘也会吃不消。所以有了换 Arch 的打算。

Arch 2010 ?

本来老早就试着安装过,不过太不幸了,我的 ATI 显卡恰巧遇到内存分配问题。当时只知道一起图形界面就死机,开始以为 Arch 的问题,后来 Gentoo 安装的时候也碰到这个问题,花了不少时间在内核里面禁掉了 agpgart 的驱动,暂时是解决了问题。不知道现在 Arch 如何,貌似呼声很高,而滚动升级的特点也很和我胃口。所以过年之后就准备开始行动了。

总结

Red Hat -> Fedora-> Ubuntu -> Gentoo –> Arch –> ?
这是一条由简单,到深入,再到简单的曲线。随着对系统了解的逐步深入,人也快到了“不折腾”的年龄。 Arch 会成为终极发行版么? Debian Sid 到底好不好用?新的一年,等待新的答案。

后记: 已经用到 2016 年了,暂时也没有看到变动的可能性。

Gentoo 转到 Arch

发表于 2016-04-05 | 分类于 个人

老的台式机换成了笔记本,同时桌面从 XFCE 转成 KDE,结果发现编译量太大了。KDE 基本每月出一个小版本,每次都要编译好久。在 KDE 4.4.2 出来之后终于觉得换成 Arch 了。作为 Arch 的初级用户,大致比较一下两个发行版。

安装

除了编译的时间,两者的安装比较神似。都提供了大量的可选组件供选择,而不是像 Ubuntu 一样事先定好。相对来说,Arch 需要手动修改的配置文件更少。除了一些软件包的名字变了,需要 Pacman 仔细搜索之外,Gentoo 的经验都可以直接使用。

软件管理

Pacman 速度很快,默认的源文件里面也有 163 lupaworld 等常用源。目前为止没有碰到依赖问题。不少软件官方源里是没有的,于是有了 AUR – 一个 port 系统。如果以前知道 Arch 有这个,也许早换了。 yaourt 非常好用,还提供了即时修改 PKGBUILD 的功能。 预编译包 + port,在速度和订制软件包直接达到了更好的平衡。

总的来说,非常喜欢 Arch,刚装没几天,已经很少用 Gentoo. 所谓存在就是合理,这么多人推荐它,一定有其优点,需要主动尝试,慢慢体会。

后记

切换到 Arch 已经好多年了,一直都在用。自己还成了 Arch Wiki 的 Admin。

看牛人们是怎么评价编程语言的

发表于 2016-04-05 | 分类于 代码

2012 年最早转载这个文章的时候,没有看到 Javascript,世界变化正式大啊。

Basic

一个有过 BASIC 编程经历的人是很难学会好的编程习惯的。作为一个潜在的程序员,他们已经被脑残并且无法修复。

– Edsger Wybe Dijkstra,Dijkstra 算法发明者

C

C 语言程序就像一群拿着刀的人在刚刚打过蜡的地板上快速的跳舞。

– Waldi Ravens

罗马帝国衰败的主要原因之一是因为他们缺少 0,他们没有办法知道他们的 C 程序已经成功的执行完了。

– Robert Firth

现在是早上五点,你知道那个指针现在什么地方吗?

– 匿名

C++

C 很容易让你朝自己的脚开枪。在 C++ 中,这么做变的困难了,但是你要不注意就会崩掉自己的整条腿。

– Bjarne Stroustrup,C++ 发明者

我发明了“面向对象”,但是我可以明确的是,我不知道什么是 C++。

– Alan Kay,Smalltalk 发明者

C++ 的最新功能是用来修正之前的最新功能的。

– David Jameson

50 年的编程语言研究就搞出来一个 C++ ?

– Richard A. O’Keefe

只要你花一点时间研究 C++,你就会发现 C++ 的用户都在寻找一门更好的语言。

– R. William Beckwith.

Java 就是去掉了枪炮,刀剑,还有黑帮的 C++。

– James Gosling,Java 联合发明人

C++ 是一门恐怖的语言。即使选择 C 没有任何优势,只是为了逃避 C++,那这个理由也足够了。

– Linus Torvalds,Linux 发明者

COBOL

使用 COBOL 会让你变的脑残,所以教别人使用 COBOL 就是犯罪。

– E.W. Dijkstra,Dijkstra 算法发明者

Java

如果 Java 真的有垃圾收集的话,大部分程序在刚开始执行的时候就会把他们自己删了。

– Robert Sewell

Lisp

Lisp 不是一门语言,它只是一种构建材料。

– Alan Kay,Smalltalk 发明者

Perl

Perl 是唯一一门在 RSA 加密前后看起来一样的语言。

– Keith Bostic

PHP

PHP 是由不称职的业余选手发明和操纵的,而 Perl 是伟大而阴险的,由一帮高水平的变态专业人士操纵。

– Jon Ribbens

Bash 以及其他 shell

很明显,移植 shell 要比移植 shell 脚本更容易。

– Larry Wall,Perl 发明者

最后

世界上只有两种编程语言:整天被人喷的语言,没有人用的语言。

– Bjarne Stroustrup

告别百度空间

发表于 2016-04-05 | 分类于 个人

从 2006 年开始写博客,最开始在 MSN 空间,后来 MSN 访问一直不正常,就迁移到了百度空间。看着访问量不断提高,最高到时候日访问量超过 200, 很是高兴。后来百度空间越来越不像博客,很多功能都找不到了。最终决定建自己的博客。

文章回顾

手动迁移了历史文章,迁移的工作其实也是在回顾自己的历程。看着过去收集的技术资料,感触良深。

有些东西已经退出了历史舞台,比如我参与的第一个开源项目 Songbird.

有些东西,真希望当时能够研究的透彻一些,比如 dbus。如果当时理解得再深刻一些,在做网络电视的时候能够用 dbus 通讯,可能就能摆脱层出不穷的死锁问题。

有些东西,一直还在坚持使用,比如 Arch Linux。从 2010 年一直用到现在,而且没有换新发行版的任何想法。

博客未死

最近已经很少更新博客了,工作很忙,空闲时间又大部分花在 Arch Wiki 上。Arch Wiki 的历程,从翻译开始,后来成为维护者,最终成为管理员。对 Wiki 这个知识形式的理解,也逐渐的变得深刻。博客、微博、维基、论坛、IRC、问答,即时通讯,每一个东西都有其擅长的东西,没有一个单独的形式可以通吃一切。

微博:适合时时播报,时效性非常强。

博客:不那么随意,适合总结性的文章,鞭策自己思考。

Wiki:适合客观性的知识总结,汇集所有人的智慧。

问答:针对性强,方便于解决问题,但很难聚集人气

开通了自己的博客,后面有时间把 Wiki 和 Owncloud 都做好。在虚拟的世界,慢慢的产生了一个和现实有区别的身份。考虑到每天在电脑前的时间几乎超过 10 小时,也许虚拟的身份反而更真实吧。

1…567…18

Feng Chao

178 日志
14 分类
1 标签
RSS
GitHub E-Mail Twitter
© 2006 — 2018 Feng Chao
由 Hexo 强力驱动
|
主题 — NexT.Mist