电脑网络:Linux和Windows基础命令一文通,网络黑客管理员必备

一、Linux系统命令

如果你是一位系统管理员,那么你的日常工作应该包括管理服务器和数据中心的网络。以下的 Linux 实用工具和命令 —— 从基础的到高级的 —— 将帮你更轻松地管理你的网络。

在几个命令中,你将会看到 <fqdn>,它是"完全合格域名"的全称。当你看到它时,你应该用你的网站 URL 或你的服务器来代替它(比如,server-name.company.com),具体要视情况而定。/<fqdn>

Ping

正如它的名字所表示的那样,ping 是用于去检查从你的系统到你想去连接的系统之间端到端的连通性。当一个 ping 成功时,它使用的 ICMP[1] 的 echo 包将会返回到你的系统中。它是检查系统/网络连通性的一个良好开端。你可以在 IPv4 和 IPv6 地址上使用 ping 命令。

语法:

· IPv4: ping /<fqdn>

· IPv6: ping6 /<fqdn>

你也可以使用 ping 去解析出网站所对应的 IP 地址,如下图所示:

Traceroute

ping 是用于检查端到端的连通性,traceroute 实用工具将告诉你到达对端系统、网站,或服务器所经过的路径上所有路由器的 IP 地址。traceroute 在网络连接调试中经常用于在 ping 之后的第二步。

这是一个跟踪从你的系统到其它对端的全部网络路径的非常好的工具。在检查端到端的连通性时,这个实用工具将告诉你到达对端系统、网站、或服务器上所经历的路径上的全部路由器的 IP 地址。通常用于网络连通性调试的第二步。

语法:

· traceroute /<fqdn>

Telnet

语法:

· telnet /<fqdn> 是用于 telnet[3] 进入任何支持该协议的服务器。/<fqdn>

Netstat

这个网络统计(netstat)实用工具是用于去分析解决网络连接问题和检查接口/端口统计数据、路由表、协议状态等等的。它是任何管理员都应该必须掌握的工具。

语法:

· netstat -l 显示所有处于监听状态的端口列表。

· netstat -a 显示所有端口;如果去指定仅显示 TCP 端口,使用 -at(指定信显示 UDP 端口,使用 -au)。

· netstat -r 显示路由表。

·

· netstat -s 显示每个协议的状态总结。

·

· netstat -i 显示每个接口传输/接收(TX/RX)包的统计数据。

·

Nmcli

nmcli 是一个管理网络连接、配置等工作的非常好的实用工具。它能够去管理网络管理程序和修改任何设备的网络配置详情。

语法:

· nmcli device 列出网络上的所有设备。

· nmcli device show <interface> 显示指定接口的网络相关的详细情况。/<interface>

· nmcli connection 检查设备的连接情况。

· nmcli connection down <interface> 关闭指定接口。/<interface>

· nmcli connection up <interface> 打开指定接口。/<interface>

· nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 gw4 <gateway-ip> 在特定的接口上使用指定的 VLAN 号添加一个虚拟局域网(VLAN)接口、IP 地址、和网关。/<gateway-ip>/<vlan-number>/<interface>/<connection-name>

·

路由

检查和配置路由的命令很多。下面是其中一些比较有用的:

语法:

· ip route 显示各自接口上所有当前的路由配置。

·

route add default gw <gateway-ip> 在路由表中添加一个默认的网关。/<gateway-ip>

route add -net <network> gw <gateway> <interface> 在路由表中添加一个新的网络路由。还有许多其它的路由参数,比如,添加一个默认路由,默认网关等等。/<interface>/<gateway>/<network>

· route del -net <network> 从路由表中删除一个指定的路由条目。/<network>

·

· ip neighbor 显示当前的邻接表和用于去添加、改变、或删除新的邻居。

·

· arp (它的全称是 "地址解析协议")类似于 ip neighbor。arp 映射一个系统的 IP 地址到它相应的 MAC(介质访问控制)地址。

·

Tcpdump 和 Wireshark

Linux 提供了许多包捕获工具,比如 tcpdump、wireshark、tshark 等等。它们被用于去捕获传输/接收的网络流量中的数据包,因此它们对于系统管理员去诊断丢包或相关问题时非常有用。对于热衷于命令行操作的人来说,tcpdump 是一个非常好的工具,而对于喜欢 GUI 操作的用户来说,wireshark 是捕获和分析数据包的不二选择。tcpdump 是一个 Linux 内置的用于去捕获网络流量的实用工具。它能够用于去捕获/显示特定端口、协议等上的流量。

语法:

· tcpdump -i <interface-name> 显示指定接口上实时通过的数据包。通过在命令中添加一个 -w标志和输出文件的名字,可以将数据包保存到一个文件中。例如:tcpdump -w <output-file.> -i <interface-name>。/<interface-name>/<output-file.>/<interface-name>

·

· tcpdump -i <interface> src <source-ip> 从指定的源 IP 地址上捕获数据包。/<source-ip>/<interface>

· tcpdump -i <interface> dst <destination-ip> 从指定的目标 IP 地址上捕获数据包。/<destination-ip>/<interface>

· tcpdump -i <interface> port <port-number> 从一个指定的端口号(比如,53、80、8080 等等)上捕获数据包。/<port-number>/<interface>

· tcpdump -i <interface> <protocol> 捕获指定协议的数据包,比如:TCP、UDP、等等。/<protocol>/<interface>

Iptables

iptables 是一个包过滤防火墙工具,它能够允许或阻止某些流量。这个实用工具的应用范围非常广泛;下面是它的其中一些最常用的使用命令。

语法:

· iptables -L 列出所有已存在的 iptables 规则。

· iptables -F 删除所有已存在的规则。

下列命令允许流量从指定端口到指定接口:

· iptables -A INPUT -i <interface> -p tcp –dport <port-number> -m state –state NEW,ESTABLISHED -j ACCEPT/<port-number>/<interface>

· iptables -A OUTPUT -o <interface> -p tcp -sport <port-number> -m state – state ESTABLISHED -j ACCEPT/<port-number>/<interface>

下列命令允许环回

loopback

接口访问系统:

· iptables -A INPUT -i lo -j ACCEPT

· iptables -A OUTPUT -o lo -j ACCEPT

Nslookup

nslookup 工具是用于去获得一个网站或域名所映射的 IP 地址。它也能用于去获得你的 DNS 服务器的信息,比如,一个网站的所有 DNS 记录(具体看下面的示例)。与 nslookup 类似的一个工具是 dig(Domain Information Groper)实用工具。

语法:

· nslookup <website-name.com> 显示你的服务器组中 DNS 服务器的 IP 地址,它后面就是你想去访问网站的 IP 地址。/<website-name.com>

· nslookup -type=any <website-name.com> 显示指定网站/域中所有可用记录。/<website-name.com>

网络/接口调试

下面是用于接口连通性或相关网络问题调试所需的命令和文件的汇总。

语法:

· ss 是一个转储套接字统计数据的实用工具。

· nmap <ip-address>,它的全称是 "Network Mapper",它用于扫描网络端口、发现主机、检测 MAC 地址,等等。/<ip-address>

· ip addr/ifconfig -a 提供一个系统上所有接口的 IP 地址和相关信息。

· ssh -vvv user@ 允许你使用指定的 IP/域名和用户名通过 SSH 协议登入到其它服务器。-vvv 标志提供 SSH 登入到服务器过程中的 "最详细的" 信息。

· ethtool -S <interface> 检查指定接口上的统计数据。/<interface>

· ifup <interface> 启动指定的接口。/<interface>

· ifdown <interface> 关闭指定的接口/<interface>

· systemctl restart network 重启动系统上的一个网络服务。

· /etc/sysconfig/network-scripts/<interface-name> 是一个对指定的接口设置 IP 地址、网络、网关等等的接口配置文件。DHCP 模式也可以在这里设置。/<interface-name>

· /etc/hosts 这个文件包含自定义的主机/域名到 IP 地址的映射。

· /etc/resolv.conf 指定系统上的 DNS 服务器的 IP 地址。

· /etc/ntp.conf 指定 NTP 服务器域名。

二、Windows系统命令

有很多朋友多次问到,如何检测Windows系统网络故障和对网络进行基础的操作,所以我们整理了网络中常见的一些Windows命令的用法,方便大家日常工作对网络的管理。

一、ping 命令的使用

通常用来测试与目标主机的连通性。

1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。

2、输入ping/? 回车,了解ping命令的基本用法。结果如下:

最常用的ping命令是在ping后面直接跟域名或IP地址。测试内网或外网的联通情况。

3、依次输入以下命令并查看分析结果。

(1)输入ping www.hbtcm.edu.cn并回车查看分析结果。

结果如下:

(2)输入ping 218.197.176.10并回车查看分析结果。

结果如下:

二、ipconfig命令的使用

用于查看本机的IP信息

1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。

2、输入ipconfig/? 回车,了解ipconfig 命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。

(1)输入ipconfig/all 并回车查看分析结果。

结果:

(3)输入ipconfig/displaydns 并回车查看分析结果。

结果:

分析:ipconfig/displaydns 显示DNS解析程序缓存的内容。由于显示内容太多所以没有全部截图展示出来。

三、tracert命令的使用

是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。

1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。

2、输入tracert/? 回车,了解tracert命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。

(1)输入tracert www.hbtcm.edu.cn并回车查看分析结果。

结果:

输入tracert -d www.hbtcm.edu.cn并回车查看分析结果。

结果:

分析:

(2)输入 tracert www.baidu.com并回车查看分析结果。

结果:

(3)输入 tracert -h 5 www.baidu.com并回车查看分析结果。

结果:

4、使用不同的参数测试tracert 命令。

结果:

四、pathping命令的使用

提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息。

1、单击开始按钮,输入cmd并回车,进入windows DOS环境。

2、输入pathping/?回车,了解pathping命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。

(1)输入pathping 192.168.0.1 并回车查看分析结果。

结果:

分析:

(2)输入pathping -n www.hbtcm.edu.cn并回车查看分析结果。

结果:

(3)输入pathping -n www.baidu.com并回车查看分析结果。

结果:

4、使用不同的参数测试pathping 命令。

五、netstat 命令的使用

Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。是一个监控TCP/IP网络的非常有用的命令,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

1、点击开始按钮,输入cmd并按回车键,进入windows DOS环境。

2、输入netstat/?回车,了解netstat命令的基本用法。结果如下:

3、依次输入以下命令并回车查看分析结果。

(1)输入netstat并回车查看分析结果。

结果:

(2)输入netstat -b 并回车查看分析结果。

结果:

(3)输入netstat -a 并回车查看分析结果。

结果:

(4)输入netstat -e 并回车查看分析结果。

结果:

分析:显示以太网统计。此选项可以与-s 选项结合使用。

4、使用不同的参数测试netstat命令。

六、arp命令的使用

arp命令显示并修改Internet到以太网的地址转换表。这个表一般由地址转换协议(ARP)来维护。当只有一个主机名作为参数时,arp显示这个主机的当前ARP条目。如果这个主机不在当前ARP表中那么ARP就会显示一条说明信息。

1、点击开始按钮,输入cmd并按回车键,进入windows DOS环境。

2、输入arp/?回车,了解arp命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。

(1)输入arp-a 并回车查看分析结果。

结果:

(2)输入 arp -s 169.254.112.34 00-cd-0d-33-00-34 并回车,输入arp-a 并回车查看分析结果。

结果:

(3)输入arp -d 169.254.112.34 并回车,输入arp-a 并回车查看分析结果。

结果:

七、nslookup 命令的使用

nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。

用以显示或设置系统的主机名称。

1、单击开始按钮,输入cmd并按回车键,进入windows DOS环境。

2、输入nslookup/?回车,了解nslookup命令的基本用法。结果:

3、依次输入以下命令并查看分析结果。

(1)输入nslookup www.hbtcm.edu.cn 并回车查看分析结果。

结果:

(2)输入nslookup www.baidu.com并回车查看分析结果。

结果:

八、route 命令的使用

route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。

2、输入route/?回车,了解route命令的基本用法。结果:

3、依次输入以下命令并查看分析结果。

(1)输入route print回车查看分析结果。

结果:

输入route print 125* 并回车查看分析结果。

结果:

4、使用不同的参数测试route 命令。