2017年3月

免费和开放的证书颁发机构 Let's Encrypt,给钓鱼网站颁发了将近 15000 份包含了 “PayPal” 关键字的证书。

这是由加密专家 Vincent Lynch 发现的。他说,Let's Encrypt 去年签发的包含 “PayPal” 关键字的 15,270 份安全证书中,有 96.7% 发给了钓鱼网站。数据显示,证书签发高峰是从 2016 年 11 月开始的。

Let's Encrypt 出现的时间并不长。事实上,它是 2015 年 12 月进入公测,2016 年 4 月推出 beta 版。它提供服务的目的是通过加密网站用 TLS 保护用户数据不被窃听。这些证书是为使访客确信站点的网页是安全的。为钓鱼网站发放证书,意味着 Let's Encrypt 证实这些站点的合法性。

Vincent Lynch 认为,提供免费证书的政策确实为钓鱼网站创造了非常诱人的环境。

此报告发布的几周前,Lynch 请求 Let's Encrypt 停止签发 PayPal 证书,因为这些证书被用于钓鱼目的。那时,他估计包含 PayPal 的证书数量在 1000 以下。 显然,现在根据他的完整调查,情况在迅速恶化。

“鼓励 HTTPS 使用的各种动机对钓鱼网站同样有吸引力,有一些性能的好处 (例如 HTTP/2) 只对使用 HTTPS 的站点有效。此外,对使用有效 SSL 证书的站点,浏览器也会给出信任的 UI 提示(如 Chrome 中的安全标签,浏览器的小锁图标等),这些都使钓鱼网站看起来更合法”,Lynch 在报告中写道。

Ilia Kolochenko,一家 Web 安全公司 High-Tech Bridge 的 CEO 认为,Let's Encrypt 本应该预见到对其服务的滥用,并采取一些至少很基本的验证,例如拒绝包含流行品牌名的域名申请 SSL 证书。

“加密所有 web 流量的想法仍有争议,因为它允许恶意软件轻松绕过各种安全机制,从而给最终用户和公司带来巨大损失。我很确信,如果我们可以看到有多少 Let’s Encrypt 的 SSL 证书被恶意软件利用来泄露盗窃的数据,结果肯定会是惊人的。因此,很难预期 Let’s Encrypt 未来将怎样调整其发展战略,避免它想使 web 更安全的愿望被网络罪犯滥用,”Kolochenko 说道。

Fedora 26 再次延期发布,延至 2017 年 6 月 27 日

(出于传统,)上周,Fedora 团队宣布由于发现最新的障碍 ,原定 3 月 21 日发布的 Alpha 版本,重新安排到 3 月 28日。

现在,根据最新的发布时间表,可以发现所有发布日期再次延迟,Alpha 版本推迟至 4 月 4 日,Beta Freeze 从 5 月 16 日开始,Beta 版本推迟至 5 月 30 日,最终版 Freeze 定于 6 月 13 日,最终版本推迟至 6 月 27 日发布。

微软称 Linux 上 OneDrive 运行缓慢问题已解决

上周就有报导,Linux 系统通过浏览器连接到 Microsoft OneDrive 时,很多人报告遭遇性能问题。用户抱怨浏览文件夹,编辑文档都非常缓慢,而同样的网络连接在 Windows 上却正常。

Microsoft 一位发言人 确认这只是一个 bug,性能问题决不是像一些用户猜测的那样故意为之,目的是为了支持自己的 OS Windows,而仅仅是“忽略了”。微软承诺将对 Linux 系统做更多测试工作。目前,微软已对此问题进行了修复,预期在 Windows 和 Linux 上将有相似的性能体验。

Ubuntu 16.04 LTS 和 Ubuntu 16.10 Linux 游戏玩家现已可用 Mesa 17.0.2

Canonical 的 Timo Aaltonen 早些时间宣布最新的 Mesa 17.0.2 3D 图形库包已可用,Ubuntu 16.04 LTS 和 Ubuntu 16.10 用户可从他们的 PPA 中获得。

Mesa 17.0.2 可以从 "Ubuntu-X" 团队 PPA中安装,用户可在终端 app 中运行下述命令来安装它:

sudo add-apt-repository ppa:ubuntu-x-swat/updates -y
sudo apt update && sudo apt dist-upgrade

MKVToolnix 10.0.0 发布, 改进了 H.264 and H.265 解析器

MKVToolnix 开发人员 Moritz Bunkus 宣布他的开源跨平台 MKV 操纵软件升级到一个新的主版本, 10.0.0。

根据发布信息,MKVToolnix 10.0.0 改进了 AVC/h.264 和 HEVC/h.265 解析器。

你可以点击链接,下载其在 GNU/Linux, macOS, 和 Microsoft Windows 操作系统的版本。

动态主机配置协议(DHCP) 是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。

DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。

DHCP 如何工作?

以下是 DHCP 实际工作原理的简要说明:

  • 一旦客户端(配置为使用 DHCP 的机器)连接到网络后,它会向 DHCP 服务器发送 DHCPDISCOVER 数据包。
  • 当 DHCP 服务器收到 DHCPDISCOVER 请求报文后会使用 DHCPOFFER 包进行回复。
  • 然后客户端获取到 DHCPOFFER 数据包,并向服务器发送一个 DHCPREQUEST 包,表示它已准备好接收 DHCPOFFER 包中提供的网络配置信息。
  • 最后,DHCP 服务器从客户端收到 DHCPREQUEST 报文后,发送 DHCPACK 报文,表示现在允许客户端使用分配给它的 IP 地址。

在本文中,我们将介绍如何在 Ubuntu/Debian Linux 中设置 DHCP 服务器,我们将使用 sudo 命令来运行所有命令,以获得 root 用户权限。

测试环境设置

在这步中我们会使用如下的测试环境。

  • DHCP Server - Ubuntu 16.04
  • DHCP Clients - CentOS 7 and Fedora 25

步骤 1:在 Ubuntu 中安装 DHCP 服务器

1、 运行下面的命令来安装 DHCP 服务器包,也就是 dhcp3-server

$ sudo apt install isc-dhcp-server

2、 安装完成后,编辑 /etc/default/isc-dhcp-server 使用 INTERFACES 选项定义 DHCPD 响应 DHCP 请求所使用的接口。

比如,如果你想让 DHCPD 守护进程监听 eth0,按如下设置:

INTERFACES="eth0"

同样记得为上面的接口配置静态地址

步骤 2:在 Ubuntu 中配置 DHCP 服务器

3、 DHCP 配置的主文件是 /etc/dhcp/dhcpd.conf, 你必须填写会发送到客户端的所有网络信息。

并且 DHCP 配置中定义了两种不同的声明,它们是:

  • parameters - 指定如何执行任务、是否执行任务,还有指定要发送给 DHCP 客户端的网络配置选项。
  • declarations - 定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。

4、 现在打开并修改主文件,定义 DHCP 服务器选项:

$ sudo vi /etc/dhcp/dhcpd.conf 

在文件顶部设置以下全局参数,它们将应用于下面的所有声明(请指定适用于你情况的值):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5、 现在定义一个子网,这里我们为 192.168.10.0/24 局域网设置 DHCP (请使用适用你情况的参数):

subnet 192.168.10.0 netmask 255.255.255.0 {
  option routers                  192.168.10.1;
  option subnet-mask              255.255.255.0;
  option domain-search            "tecmint.lan";
  option domain-name-servers      192.168.10.1;
  range   192.168.10.10   192.168.10.100;
  range   192.168.10.110   192.168.10.200;
}

步骤 3:在 DHCP 客户端上配置静态地址

6、 要给特定的客户机分配一个固定的(静态)的 IP,你需要显式将这台机器的 MAC 地址以及静态分配的地址添加到下面这部分。

host centos-node {
  hardware ethernet 00:f0:m4:6y:89:0g;
  fixed-address 192.168.10.105;
}
host fedora-node {
  hardware ethernet 00:4g:8h:13:8h:3a;
  fixed-address 192.168.10.106;
}

保存并关闭文件。

7、 接下来,启动 DHCP 服务,并让它下次开机自启动,如下所示:

------------ SystemD ------------ 
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service
------------ SysVinit ------------ 
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

8、 接下来不要忘记允许 DHCP 服务(DHCP 守护进程监听 67 UDP 端口)的防火墙权限:

$ sudo ufw allow  67/udp
$ sudo ufw reload
$ sudo ufw show

步骤 4:配置 DHCP 客户端

9、 此时,你可以将客户端计算机配置为自动从 DHCP 服务器接收 IP 地址。

登录到客户端并编辑以太网接口的配置文件(注意接口名称/号码):

$ sudo vi /etc/network/interfaces

定义如下选项:

auto  eth0
iface eth0 inet dhcp

保存文件并退出。重启网络服务(或重启系统):

------------ SystemD ------------ 
$ sudo systemctl restart networking
------------ SysVinit ------------ 
$ sudo service networking restart

另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。

Set DHCP Network in Fedora

在 Fedora 中设置 DHCP 网络

此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。

就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如果你正在使用基于 Fedora 的发行版,请阅读如何在 CentOS/RHEL 中设置 DHCP 服务器。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin 和 web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/install-dhcp-server-in-ubuntu-debian/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

 title=

如今你看地球上的任何地方,都可以找到天气变化的证据,每个月,无论是事实还是数据都在向我们诠释一点 —— 全球变暖。

气候学家如是告诫我们,如今的不作为,对于我们的将来可能是致命的。五角大楼的军事战略家最近警告当选总统的川普,向他申明如果不对气候变化有所动作,可能会造成威胁国家安全的灾难。愈趋减少的的水供应和微薄的降雨量会导致作物歉收,这将迫使大量的移民逃往世界各地,到那些可以维持他们生计的地方去。

遍览 NASA、美国国防部,以及其他机构针对气候的研究成果,我的心中有个疑惑。那就是是否有开源的工具,使对此感兴趣的人们能够自行去探索气候数据的奥秘,并总结出我们自己的结论。我在网上快速的检索了一下,然后找到了 Open Climate Workbench (开源气候工作台),这是 Apache 软件基金会旗下的一个工程。

Open Climate Workbench (缩写 OCW) 开发该软件,对来自 地球系统网格联盟 Earth System Grid Federation (缩写 ESGF)、 协调区域气候降尺度实验 Coordinated Regional Climate Downscaling Experiment (缩写 CORDEX)、美国全球变化研究项目的 国家气候研究 National Climate Assessment 北美区域气候评估计划 North American Regional Climate Assessment Program ,以及 NASA、NOAA 和其他组织或机构的数据进行气候模型评价。

你可下载 OCW 的 tar 包 并将它安装到满足其条件的 Linux 电脑上。也可以使用 Vagrant 或者 VirtualBox 将 OCW 安装到虚拟机中,详见 OCW 的虚拟机指南

个人觉得想要了解 OCW 是如何工作的,最便捷的方式就是到 区域气候模式评价系统 Regional Climate Model Evaluation System (缩写 RCMES),下载一个虚拟机镜像

从 RCMES 的网站上看,他们旨在通过为一系列广泛而全面的观测(例如,卫星观测,重新分析,现场观测)和建模资源(例如,ESGF 上的 CMIPCORDEX)提供标准化的访问,以及常规分析和可视化任务的工具(例如,OCW),来促进气候和地球系统模型的区域规模评估。

你需要在宿主机上安装 VirtualBox 和 Vagrant。通过它们,你就能看到一个超赞的 OCW 作业示例。RCMES 为下载、导入、运行虚拟机提供了详细的说明。当你的虚拟机开始工作时,你可以用以下身份登陆。

用户名:vagrant,密码:vagrant。

 title=

RCMES 数据样图

RCMES 网页上的教程能帮助你迅速上手该软件。他们的社区十分活跃,而且在寻找更多的开发者。 你也可以订阅他们邮件列表

该工程的源代码部署在 GitHub 上,遵寻 Apache License, Version 2.0。

(题图源自: Flickr user: theaucitron (CC BY-SA 2.0))


作者简介:

Don Watkins(唐 沃特金斯) - 教育家,教育技术专家,企业家,开源支持者。教育心理学硕士,Linux 系统管理员,CCNA,使用 Virtual Box 实现虚拟化。twitter 关注 @Don\_Watkins。


via: https://opensource.com/article/17/1/apache-open-climate-workbench

作者:Don Watkins 译者:martin2011qi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

最坚决推行 Linux 桌面系统项目的城市正在转回 Windows 阵营,但 Linux 的命运已经不再与 PC 休戚相关。

munich2.jpg

慕尼黑的 Linux 项目只是开源软件故事中的一小部分

在实施从 Windows 系统迁移到 Linux 系统这一项目接近十年之久后,慕尼黑却突然走上了一条戏剧性的转弯。据说是到 2021 年,该城市的地方议会就会开始用 Windows 10 替换运行 LiMux (Ubuntu 的一种自定义版本)的 PC 机。

若是回到 15 或者 20 年前,人们可能会争论什么时候 Linux 将会在桌面上取代 Windows。例如,当 Ubuntu 于 2004 年问世时,它是带着 终结 Windows 的抱负 而被设计为标准的桌面操作系统的。

剧透:这一切并没有发生。

桌面上的 Linux 在今天占有约为 2% 的市场,很多人都认为它复杂晦涩。与此同时,Windows 则航行无虞,在 PC 市场笑傲群雄,天下十有其九。但在商业领域中总还有些许 Linux 桌面的身影,它仍被需要——尤其是对开发者和数据科学家而言。

但遗憾的是,它永远也不会成为历史的主流。

慕尼黑的 Linux 项目因其规模之大,引起了许多人的兴趣。几乎没有哪家大型组织会做出从 Windows 到 Linux 的迁移,一些个别的案例像 法国宪兵队和都灵市 曾有类似之举。然而,慕尼黑作为模范:在这一事件上的失败将会大大打击那些仍在 试图用 Linux 将 Windows 取而代之的信徒们

但现实就是如此,绝大多数公司乐于去使用主流的桌面操作系统,因为它具有完整一致、用户友好这种优势。

工作人员所抱怨的问题中,有多少是归咎于 LiMux 软件以及多少是操作系统无端被责备的,已经不可计数。但重要的是,无论慕尼黑最后何去何从,Linux 的命运都已经脱离了桌面 —— 是的,Linux 在多年前就已经输掉了桌面战争。

但这对 Linux 来说无伤大雅,因为它赢得了智能手机之战,并且在云端和物联网之战上也是捷报连连。

你的口袋里,有七八成可能装的是一个 Linux 驱动的智能手机(Android 基于 Linux 内核)。你的身边,更是有成千上万 Linux 驱动的设备,虽然这些也许你甚至都没注意到。

像树莓派这样运行大量不同类型 Linux 的设备,正在创建一个充满热情和活力的开发者社区,并且提供给初创公司一种低成本的驱动新设备的方法。

大部分公有云也是以这样或那样的形式在 Linux 上运行的;即便是微软,也已经敞开大门,拥抱开源软件。无论你站在哪一个软件平台的立场,不可否认地,开发者和用户拥有更多丰富的可选项是一件好事,对决策来说,抑或是对创新来说,都是如此。

桌面的主导地位早已不再是当年模样了:它现在只是许多计算平台中的一个。事实上,PC 的软件也已经变得越来越不相关,因为更多的应用程序都在与设备和操作系统解耦,驻留在云中。

虽然慕尼黑传奇的曲折变换与 Linux 在桌面上的冒险耐人寻味,但它们却并未给你呈现出一个完整的故事。

同意? 还是不同意? 在下面添加你的评论来加入讨论吧!

(题图: Getty Images/iStockphoto)


via: http://www.zdnet.com/article/windows-wins-the-desktop-but-linux-takes-the-world/

作者:Steve Ranger 译者:Meditator-hkx 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LaTeXila 是一个多语言 LaTeX 编辑器,专为那些偏爱 GTK+ 外观的 Linux 用户设计。这个软件简单,但又足够强大,可定制性良好,所以如果你对 LaTeX 感兴趣,那么你就应该尝试一下这个工具。

在下面的快速指南中,我将展示如何使用 LaTeXila 并介绍其主要功能。但在开始之前你可能要问:

为何选择使用 LaTeX?

假如我想创建一个文本文档,为什么我不使用 LibreOffice 或者 Abiword 这些常规的工具呢?原因是相比于常规的文本编辑器,LaTeX 编辑器一般来说都会提供更多功能强大的格式化工具,让你在写作期间专注于文档的内容。LaTeX 是一个文档准备系统,目的是简化大多数常见出版物的处理过程,例如书籍或者科学报告,它们通常都包含很多数学公式,多语言排版元素,交叉引用及引文,参考文献等等需要处理的元素。尽管上面的那些元素也可以用 LibreOffice 来处理,使用 LaTeXila 要相对简单一些,同时处理得当的话你最后得到的会是一份高质量的文档。

在一个新文档上开始工作并设定文章结构

首先,我们需要在 LaTeXila 中创建一个新文件,这个可以通过点击位于左上角的 “新建文件” 图标来实现,接着它将打开一个对话框,让我们选择一个模板从而快速地开始写作。

打开 LaTex 编辑器

在这里假设我将写一本书,所以我选择一个书籍模板,像下面的截图那样在相应的括号中添上标题和作者:

打开书籍模板

现在就让我来解释一些关于文章结构的事情。我知道这看起来就像编代码,如果你是一位作家而非程序员,那么像下面那样工作或许很是奇怪,但请先容我讲完,我将对此进行解释。

在第一行和第九行之间,我们已经写好了书写整个文档所需的所有基本要素。例如在第一行中,我们可以通过修改 [a4paper,11pt] 来定义纸张和字体的大小,在这个方括号中,我们可以添加更多的选项,选项之间以英文逗号来分隔。

在第二行和第四行之间,我们可以看到一些条目,它们都以 \userpackage 打头,紧接着的是用方括号包裹的选项和用括号包裹的命令。这些命令都是一些增强宏包,LaTeXila 默认已经安装它们到我们的系统上了,并且在大多数模板中都将使用它们。需要特别注意的是字体编码,字符编码和字体的类型。

紧接着让我们看看 \maketitle 这一行,这里我们可以添加一个单独的标题页,且默认情况下标题的内容将被放置在第一页的顶部。类似的,包含 \tableofcontents 的那行将会自动生成书籍的目录。

最后,我们可以自己命名章节的名称,这可以通过在 \chapter 后的括号中添加章节名称来实现。第一个章节将会被自动地标记为第一章。你可以在接下来的行中添加内容,一直到下一个以 \chapter 开头的新行为止,这些都将是这个章节的内容。新的章节将会被自动地标记为第二章,以此类推。

LaTex 的格式

章节之间还可以用命令 \section 来划分为更小的块,甚至还可以使用 \subsection 来划分为更小的部分。各个小节和章都将被 \tableofcontents 自动检测到,并将使用它们的标题和页码来填充目录的内容。看看下面的截图就可以看到章和小节是如何在你的书中被排版的。

LaTex 预览

假如你想浏览结构,你可以将左边的工具栏更换到 “结构” Structure 选项,并确保所有的结构与预期相符。在这里,你还可以控制各小节中的任意数据表格和图片。

LaTex 结构

讲到这里,有人或许想将表格和图片的位置也包含在目录中。要达到此目的,你需要将下面的两行添加到 \tableofcontents 之后:

\listoffigures
\listoftables

最后标志着书籍结束的信号是 \end{document}。你的布局应该总是以此为结尾。

LaTeXila 简单易用,公式齐全

LaTeX 是一个基于命令的文档生成系统,它与使用的编辑器没有多少关联。这里需要强调的是 LaTeXila 提供了一系列强大的工具,使得在你书写报告或书籍时能够节省一些时间和精力。例如对于 LaTex 命令,它提供了自动补全功能,这个功能将在你每次开始输入命令时被激活。

LaTeX 中的数学公式

LaTeXila 还集成有基于 gspell 的拼写检测系统,你可以在最上面的“工具”菜单中设定合适的语言。最上面的工具栏里几乎包含了你要用到的所有按钮。从左到右,你可以完成添加章节,交叉引用,调整字符的大小,格式化被选取的部分,添加无序列表和数学函数等等。这些都可以手动地输入,但通过点击相应按钮来完成或许更加方便。

对于生成数学公式,结合侧边栏上的工具栏选项,你只需轻轻一点就可以添加相应的数学符号。点击位于左边的侧边栏中 “符号” Symbols 框,你就可以看到相关的符号分类,例如“关系运算符”,“希腊字母”,“运算符”等等。下面的截图就是一些符号的示例:

希腊字母和算子符号

这些符号的图形化列表使得公式和数学表达式的生成犹如在公园中散步那样舒适。

将 .tex 文件转换为 .rtf 文件

默认情况下,LaTeXila 会将你的文档保存为标准的 .tex 文档,而我们可以使用 .tex 文档来生成一个 “富文本” rich text format 文档,这些富文本文档可以使用像 LibreOffice 那样的文本编辑器打开。要达到此目的,我们需要安装一个名为 latex2rtf 的工具,它在所有的 Linux 发行版本中都可以被获取到。在文本所在的目录打开虚拟终端, 并输入 latex2rtf 文件名称,如下所示 :

由 LaTeX 文档生成 RTF 文档

当然 LaTeXila 也提供了它自己的构建工具,这些工具可以在上面的工具栏或者最上面的面板(构建)中看到。但我向你推荐 latex2rtf 是以防它们在其他的操作系统上出现某些意想不到的问题,比如在我的系统上就不能正常工作。

结论

假如上面的介绍激发了你探索 LaTeX 的兴趣,那就再好不过了。我写这篇文章的目的是向新手介绍一款简单易用且适合他们写作的工具。要是 LaTeXila 还带有实时预览的双屏模式的话,它就更加完美了...


via: https://www.howtoforge.com/tutorial/introduction-to-latexila-latex-editor/

作者:Bill Toulas 译者:FSSlc 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们之前在 NMAP 的安装一文中,列出了 10 种不同的 ZeNMAP 扫描模式。大多数的模式使用了各种参数。各种参数代表了执行不同的扫描模式。这篇文章将介绍其中的四种通用的扫描类型。

四种通用扫描类型

下面列出了最常使用的四种扫描类型:

  1. PING 扫描 (-sP)
  2. TCP SYN 扫描 (-sS)
  3. TCP Connect() 扫描 (-sT)
  4. UDP 扫描 (-sU)

当我们利用 NMAP 来执行扫描的时候,这四种扫描类型是我们需要熟练掌握的。更重要的是需要知道这些命令做了什么并且需要知道这些命令是怎么做的。本文将介绍 PING 扫描和 UDP 扫描。在之后的文中会介绍 TCP 扫描。

PING 扫描 (-sP)

某些扫描会造成网络拥塞,然而 Ping 扫描在网络中最多只会产生两个包。当然这两个包不包括可能需要的 DNS 搜索和 ARP 请求。每个被扫描的 IP 最少只需要一个包来完成 Ping 扫描。

通常 Ping 扫描是用来查看在指定的 IP 地址上是否有在线的主机存在。例如,当我拥有网络连接却连不上一台指定的网络服务器的时候,我就可以使用 PING 来判断这台服务器是否在线。PING 同样也可以用来验证我的当前设备与网络服务器之间的路由是否正常。

注意: 当我们讨论 TCP/IP 的时候,相关信息在使用 TCP/IP 协议的互联网与局域网(LAN)中都是相当有用的。这些程序都能工作。同样在广域网(WAN)也能工作得相当好。

当参数给出的是一个域名的时候,我们就需要域名解析服务来找到相对应的 IP 地址,这个时候将会生成一些额外的包。例如,当我们执行 ping linuxforum.com 的时候,需要首先请求域名(linuxforum.com)的 IP 地址(98.124.199.63)。当我们执行 ping 98.124.199.63 的时候 DNS 查询就不需要了。当 MAC 地址未知的时候,就需要发送 ARP 请求来获取指定 IP 地址的 MAC 地址了(LCTT 译注:这里的指定 IP 地址,未必是目的 IP)。

Ping 命令会向指定的 IP 地址发送一个英特网信息控制协议(ICMP)包。这个包是需要响应的 ICMP Echo 请求。当服务器系统在线的状态下我们会得到一个响应包。当两个系统之间存在防火墙的时候,PING 请求包可能会被防火墙丢弃。一些服务器也会被配置成不响应 PING 请求来避免可能发生的死亡之 PING。(LCTT 译注:现在的操作系统似乎不太可能)

注意: 死亡之 PING 是一种恶意构造的 PING 包当它被发送到系统的时候,会造成被打开的连接等待一个 rest 包。一旦有一堆这样的恶意请求被系统响应,由于所有的可用连接都已经被打开,所以系统将会拒绝所有其它的连接。技术上来说这种状态下的系统就是不可达的。

当系统收到 ICMP Echo 请求后它将会返回一个 ICMP Echo 响应。当源系统收到 ICMP Echo 响应后我们就能知道目的系统是在线可达的。

使用 NMAP 的时候你可以指定单个 IP 地址也可以指定某个 IP 地址段。当被指定为 PING 扫描(-sP)的时候,会对每一个 IP 地址执行 PING 命令。

在图 1 中你可以看到我执行 nmap -sP 10.0.0.1-10 命令后的结果。程序会试着联系 IP 地址 10.0.0.1 到 10.0.0.10 之间的每个系统。对每个 IP 地址都要发出三个 ARP 请求。在我们的例子中发出了三十个请求,这 10 个 IP 地址里面有两个有回应。(LCTT 译注:此处原文存疑。)

Figure 01

图 1

图 2 中展示了网络上另一台计算机利用 Wireshark 抓取的发出的请求——没错,是在 Windows 系统下完成这次抓取的。第一行展示了发出的第一条请求,广播请求的是 IP 地址 10.0.0.2 对应 MAC 地址。由于 NMAP 是在 10.0.0.1 这台机器上执行的,因此 10.0.0.1 被略过了。由于本机 IP 地址被略过,我们现在可以看到总共只发出了 27 个 ARP 请求。第二行展示了 10.0.0.2 这台机器的 ARP 响应。第三行到第十行是其它八个 IP 地址的 ARP 请求。第十一行是由于 10.0.0.2 没有收到请求系统(10.0.0.1)的反馈所以(重新)发送的另一个 ARP 响应。第十二行是源系统向 10.0.0.2 发起的 HTTP 连接的 ‘SYN’ 和 Sequence 0。第十三行和第十四行的两次 Restart(RST)和 Synchronize(SYN)响应是用来关闭(和重发)第十二行所打开的连接的。注意 Sequence ID 是 ‘1’ - 是源 Sequence ID + 1。第十五行开始就是类似相同的内容。(LCTT 译注:此处原文有误,根据情况已经修改。)

Figure 02.jpg

图 2

回到图 1 中我们可以看到有两台主机在线。其中一台是本机(10.0.0.1)另一台是(10.0.0.2)。整个扫描花费了 14.40 秒。

PING 扫描是一种用来发现在线主机的快速扫描方式。扫描结果中没有关于网络、系统的其它信息。这是一种较好的初步发现网络上在线主机的方式,接着你就可以针对在线系统执行更加复杂的扫描了。你可能还会发现一些不应该出现在网络上的系统。出现在网络上的流氓软件是很危险的,他们可以很轻易的收集内网信息和相关的系统信息。

一旦你获得了在线系统的列表,你就可以使用 UDP 扫描来查看哪些端口是可能开启了的。

UDP 扫描 (-sU)

现在你已经知道了有那些系统是在线的,你的扫描就可以聚焦在这些 IP 地址之上。在整个网络上执行大量的没有针对性的扫描活动可不是一个好主意,系统管理员可以使用程序来监控网络流量当有大量异常活动发生的时候就会触发警报。

用户数据报协议(UDP)在发现在线系统的开放端口方面十分有用。由于 UDP 不是一个面向连接的协议,因此是不需要响应的。这种扫描方式可以向指定的端口发送一个 UDP 包。如果目标系统没有回应那么这个端口可能是关闭的也可能是被过滤了的。如果端口是开放状态的那么应该会有一个响应。在大多数的情况下目标系统会返回一个 ICMP 信息说端口不可达。ICMP 信息让 NMAP 知道端口是被关闭了。如果端口是开启的状态那么目标系统应该响应 ICMP 信息来告知 NMAP 端口可达。

注意: 只有最前面的 1024 个常用端口会被扫描。(LCTT 译注:这里将 1000 改成了1024,因为手册中写的是默认扫描 1 到 1024 端口)在后面的文章中我们会介绍如何进行深度扫描。

由于我知道 10.0.0.2 这个主机是在线的,因此我只会针对这个 IP 地址来执行扫描。扫描过程中总共收发了 3278 个包。sudo nmap -sU 10.0.0.2 这个命令的输出结果在图 3 中展现。

Figure 03.jpg

图 3

在这副图中你可以看见端口 137(netbios-ns)被发现是开放的。在图 4 中展示了 Wireshark 抓包的结果。不能看到所有抓取的包,但是可以看到一长串的 UDP 包。

Figure 4.jpg

图 4

如果我把目标系统上的防火墙关闭之后会发生什么呢?我的结果有那么一点的不同。NMAP 命令的执行结果在图 5 中展示。

Figure 05.png

图 5

注意: 当你执行 UDP 扫描的时候是需要 root 权限的。

会产生大量的包是由于我们使用了 UDP。当 NMAP 发送 UDP 请求时它是不保证数据包会被收到的。因为数据包可能会在中途丢失因此它会多次发送请求。


via: https://www.linuxforum.com/threads/nmap-common-scans-part-one.3637/

作者:Jarret 译者:wcnnbdk1 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出