Skip to content

Latest commit

 

History

History
137 lines (104 loc) · 6.88 KB

net.md

File metadata and controls

137 lines (104 loc) · 6.88 KB

shell中的网络系统

目录

这一章很重要,我会好好的写。也请读者好好看好好记。

本章要讲述的命令

  • ping - 发送 ICMP ECHO_REQUEST 软件包到网络主机

  • traceroute - 打印到一台网络主机的路由数据包

  • netstat - 打印网络连接,路由表,接口统计数据,伪装连接,和多路广播成员

  • ftp - 因特网文件传输程序

  • wget - 非交互式网络下载器

  • ssh - OpenSSH SSH 客户端(远程登录程序)

URI和URL的对比

URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息。其他URI,比如

则不属于定位符,因为根据该标识符无法定位任何资源。

URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。上面的 mailto、news 和 isbn URI 都是 URN 的示例。

所以说当我们想要寻找比如mailto等这种飞URL的URI时最好就要好好查阅一下资料。

列出常见uri http https ftp file jar data mailto等等。

ping

这个名词很常见,日常生活中它就叫ping。它的主要作用是来发送一个特殊的网络数据包,叫做 ICMP ECHO_REQUEST,到 一台指定的主机。大多数接收这个包的网络设备将会回复它,来允许网络连接验证。所以你可以理解为测试网络是否通畅的技术。

大多数网络设备(包括 Linux 主机)都可以被配置为忽略这些数据包。通常,这样做是出于网络安全 原因,部分地遮蔽一台主机免受一个潜在攻击者地侵袭。配置防火墙来阻塞 IMCP 流量也很普遍

一旦启动,ping 命令会持续在特定的时间间隔内(默认是一秒)发送数据包,直到它被中断

健康的ping

18 packets transmitted, 18 packets received, **0.0%** packet loss

不健康的ping

10 packets transmitted, 9 packets received, 10.0% packet loss

丢失了一个包。这就是不健康的ping,说明网站有点小问题。

traceroute

或者使用trancepath

它可以观察从访问到目的地网站经过的路由。

 1  xiaomi (192.168.31.1)  2.526 ms  2.016 ms  2.231 ms
 2  hn.kd.ny.adsl (42.224.95.254)  4.033 ms  4.560 ms  3.074 ms
 3  pc181.zz.ha.cn (61.168.124.181)  4.590 ms
    pc65.zz.ha.cn (61.168.250.65)  3.635 ms
    pc69.zz.ha.cn (61.168.250.69)  3.224 ms
 4  pc129.zz.ha.cn (61.168.37.129)  10.331 ms
    pc117.zz.ha.cn (61.168.37.117)  10.567 ms
    pc129.zz.ha.cn (61.168.37.129)  20.943 ms
 5  219.158.4.69 (219.158.4.69)  22.753 ms
    219.158.98.181 (219.158.98.181)  19.163 ms
    219.158.22.157 (219.158.22.157)  14.696 ms
 6  219.158.5.130 (219.158.5.130)  22.278 ms
    219.158.3.66 (219.158.3.66)  16.444 ms
    219.158.5.130 (219.158.5.130)  15.765 ms
 7  219.158.34.202 (219.158.34.202)  45.454 ms  54.153 ms  52.546 ms
 8  101.4.116.141 (101.4.116.141)  49.296 ms  49.498 ms  46.531 ms
 9  101.4.113.102 (101.4.113.102)  38.776 ms  41.150 ms  66.304 ms
10  101.4.112.2 (101.4.112.2)  61.500 ms  58.984 ms  60.933 ms
11  101.4.117.146 (101.4.117.146)  55.380 ms  52.174 ms  53.616 ms
12  * * 210.43.145.86 (210.43.145.86)  81.310 ms
13  * * *
14  210.43.146.78 (210.43.146.78)  63.699 ms  56.792 ms *
15  222.21.221.206 (222.21.221.206)  54.196 ms  51.961 ms  54.805 ms
16  * * *
17  * * *
18  * * *
19  210.43.0.10 (210.43.0.10)  53.473 ms !Z  44.951 ms !Z  48.270 ms !Z

这是某网站,从访问到宿主主机一共需要跳转的路由个数。

能看到信息的服务器 信息是 主机名,IP 地址和性能数据

对于使用防火墙等设备屏蔽的服务器 我们唯一能看到的就是***

netstat

用来检测网络设置和统计数据。

  • 使用这个“-r”选项会显示内核的网络路由表。

  • 使用“-ie”选项,我们能够查看系统中的网络接口

Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            xiaoqiang          UGSc           21      463     en0
127                localhost          UCS    

Gateway, 是网关(路由器)的名字或 IP 地址,用它来连接当前的主机和目的地的网络。 若这个字段显示一个星号,则表明不需要网关

具体查阅 man netstat

ftp

这是个非常经典非常重要的命令,它的名字就是协议的名字就叫ftp文件传输协议(命令)

ftp fileserver 唤醒 ftp 程序,让它连接到 FTP 服务器,fileserver。
anonymous 登录名。输入登录名后,将出现一个密码提示。一些服务器将会接受空密码, 其它一些则会要求一个邮件地址形式的密码。如果是这种情况,试着输入 “[email protected]”。
cd pub/cd_images/Ubuntu-8.04 跳转到远端系统中,要下载文件所在的目录下, 注意在大多数匿名的 FTP 服务器中,支持公共下载的文件都能在目录 pub 下找到
ls 列出远端系统中的目录。
lcd Desktop 跳转到本地系统中的 ~/Desktop 目录下。在实例中,ftp 程序在工作目录 ~ 下被唤醒。 这个命令把工作目录改为 ~/Desktop
get ubuntu-8.04-desktop-i386.iso 告诉远端系统传送文件到本地。因为本地系统的工作目录 已经更改到了 ~/Desktop,所以文件会被下载到此目录。
bye 退出远端服务器,结束 ftp 程序会话。也可以使用命令 quit 和 exit。

lftp

ftp 并不是唯一的命令行形式的 FTP 客户端。实际上,还有很多。其中比较好(也更流行的)是 lftp 程序, 由 Alexander Lukyanov 编写完成。虽然 lftp 工作起来与传统的 ftp 程序很相似,但是它带有额外的便捷特性,包括 多协议支持(包括 HTTP),若下载失败会自动地重新下载,后台处理,用 tab 按键来补全路径名,还有很多。

另一个流行的用来下载文件的命令行程序是 wget。

若想从网络和 FTP 网站两者上都能下载数据,wget 是很有用处的。 不只能下载单个文件,多个文件,甚至整个网站都能下载。

ssh

ssh 就是它加密了本地与远程主机之间 所有的通讯信息。

一句话就是本机和远程服务器远程安全连接

SSH 由两部分组成。

  • SSH 服务器运行在远端主机上运行,在端口号22上监听将要到来的连接,
  • SSH 客户端用在本地系统中,用来和远端服务器通信。

来自于 BSD 项目。一些发行版 默认包含客户端和服务器端两个软件包(例如,Red Hat),而另一些(比方说 Ubuntu)则只是提供客户端服务。

scp 和 sftp

它们可以利用 SSH 加密通道在网络间复制文件

直接使用开源软件 ftp就OK了,简单明了。