开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天,点击查看活动详情
前言
Linux 被用来创建各式各样的网络系统和装置,包括防火墙,路由器,名称服务器,网络连接式存储设备等等。
我们要研究的命令包括那些被用来监测网络和传输文件的命令。另外,我们还会探讨用来远端登录的 ssh 程序。
-
ping- 发送 ICMP ECHO REQUEST 软件包到网络主机 -
traceroute- 打印到一台网络主机的路由数据包 -
netstat- 打印网络连接,路由表,接口统计数据,伪装连接,和多路广播成员 -
ftp- 因特网文件传输程序 -
wget- 非交互式网络下载器 -
ssh- OpenSSH SSH 客户端(远程登录程序)
我们假定你已经知道了一点网络系统背景知识。在这个因特网时代,每个计算机用户需要理解基本的网络系统概念。
为了能够充分利用这一章节的内容,我们应该熟悉以下术语:
-
IP (网络协议) 地址
-
主机和域名
-
URI(统一资源标识符)
注意:一些将要讲到的命令可能(取决于系统发行版)需要从系统发行版的仓库中安装额外的软件包,并且一些命令可能需要超级用户权限才能执行。
一、网络系统
1.1 检查和监测网络 ping命令
最基本的网络命令是 ping。
这个ping 命令发送一个特殊的网络数据包,叫做IMCPECHO REQUEST(网络管理控制包请求),到一台指定的主机。大多数接收这个包的网络设备将会回复它,来允许网络连接验证。
注意:大多数网络设备(包括 Linux 主机)都可以被配置为忽略这些数据包。
通常,这样做是出于网络安全原因,部分地遮蔽一台主机免受一个潜在攻击者地侵袭。配置防火墙来阻塞IMCP 流量也很普遍。
1.2 网络中传输文件
网络有什么用处呢?除非我们知道了怎样通过网络来传输文件。有许多程序可以用来在网络中传送数据。
我们先讨论两个命令,随后的章节里再介绍几个命令。
ftp命令
ftp 命令属于真正的“经典”程序之一,它的名字来源于其所使用的协议,就是文件传输协议。
FTP 被广泛地用来从因特网上下载文件。大多数,并不是所有的,网络浏览器都支持FTP,你经常可以看到它们的 URI 以协议 ftp://开头。在出现网络浏览器之前,ftp 程序已经存在了。ftp 程序可用来与 FTP 服务器进行通信,FTP 服务器就是存储文件的计算机,这些文件能够通过网络下载和上传。
ftp特点
- FTP(它的原始形式)并不是安全的,因为它会以明码形式发送帐号的姓名和密码。这就意味着这些数据没有加密,任何嗅探网络的人都能看到。由于此种原因,几乎因特网中所有FTP 服务器都是匿名的。一个匿名服务器能允许任何人使用注册名“anonymous”和无意义的密码登录系统。
wget命令
若想从网络和 FTP 网站两者上都能下载数据,wget 是很有用处的。不只能下载单个文件,多个文件,甚至整个网站都能下载。
下载linuxcommand.org 网站的首页,我们可以这样做:
[me@linuxbox ~]$ wget http://linuxcommand.org/index.php
--11:02:51-- http://linuxcommand.org/index.php
=> `index.php'
Resolving linuxcommand.org... 66.35.250.210
Connecting to linuxcommand.org|66.35.250.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
[ <
=> ]
3,120
--.--K/s
11:02:51 (161.75 MB/s) - 'index.php' saved [3120]
这个程序的许多选项允许 wget 递归地下载,在后台下载文件(你退出后仍在下载),能完成未下载全的文件。这些特性在命令手册,better-than-average 一节中有详尽地说明。
1.3 与远程主机安全通信 SSH(Secure Shell)
通过网络来远程操控类似 Unix 的操作系统已经有很多年了。
早些年,在因特网普遍推广之前,有一些受欢迎的程序被用来登录远程主机。它们是 rlogin 和 telnet 程序。
然而这些程序,拥有和 ftp 程序一样的致命缺点;它们以明码形式来传输所有的交流信息(包括登录命令和密码)。
这使它们完全不适合使用在因特网时代。
为了解决这个问题,开发了一款新的协议,叫做 SSH(Secure Shell)。
SSH 解决了这两个基本的和远端主机安全交流的问题。
- 首先,它要认证远端主机是否为它所知道的那台主机(这样就阻止了所谓的“中间人”的攻击),
- 其次,它加密了本地与远程主机之间所有的通讯信息。
总结
这章节 主要介绍了:
- 如何用Ping命令检查网络状态
- 如何用ftp命令传输文件
- 如何使用ssh命令与远程主机安全通信