ipconfig, ifconfig, ip
ipconfig是windows中的命令,linux上是ifconfig,但ip命令比ifconfig更强大,旨在取代ifconfig命令。
ping
ping命令是DOS命令,一般用于检测网络是否通畅以及网络连接速度,结果只越大,说明速度越慢。它使用网络层的ICMP协议。
ping [参数选项] [主机名或IP地址]
linux
参数 | 含义 |
---|---|
-c | 设置完成要求回应的次数 |
-i | 指定收发信息的间隔时间 |
-s | 设置数据包的大小 |
-w | 在设定的秒后退出 |
windows
参数 | 含义 |
---|---|
-t | 连续对IP地址执行ping命令,直到用户以<control+c>键强制中断 |
-l | 指定ping命令的数据长度 |
-n | 执行特定次数的ping命令 |
netstat
netstat 用来查看当前操作系统的网络连接状态、路由表、接口统计等信息,来自于 net-tools 工具包,ss 是 netstat 的升级版。
参数 | 含义 |
---|---|
-a | 显示主机中所有活动的网络连接信息 (包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息 (该选项需要 root 权限) |
-l | 显示处于监听 (Listen) 状态的网络连接及端口信息 |
-t | 查看 TCP (Transmission Control Protocol,传输控制协议) 相关的信息 |
-u | 显示 UDP (User Datagram Protocol,用户数据报协议) 协议相关的信息 |
-r | 显示路由表信息 |
-i | 显示网卡列表 |
-g | 显示组播组的关系 |
-s | 显示网络统计信息 |
常用命令选项:
netstat [-anpt] [-anpu] [-anptu] [-anpltu] [-ntlp]
ss
ss 命令来自于 iproute 包,是 netstat 的升级版本。netstat 通过遍历 /proc 来获取 socket 信息,ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息。 格式:
ss [OPTION]... [FILTER]
参数 | 含义 |
---|---|
-a | 显示主机中所有活动的网络连接信息 (包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息 (该选项需要 root 权限) |
-l | 显示处于监听 (Listen) 状态的网络连接及端口信息 |
-t | 查看 TCP (Transmission Control Protocol,传输控制协议) 相关的信息 |
-u | 显示 UDP (User Datagram Protocol,用户数据报协议) 协议相关的信息 |
-x | unix sock 相关 |
-w | 裸套接字相关 |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
#显示本地打开的所有端口
ss -l
#列出当前 socket 详细信息
ss -s
#显示每个进程具体打开的 socket
ss -pl
#显示所有 tcp socket
ss -at
#显示所有的 udp socket
ss -au
#显示所有已建立的 ssh 连接
ss -o state established '( dport = :ssh or sport = :ssh )'
#显示所有已建立的HTTP连接
ss -o state established '( dport = :http or sport = :http )'
traceroute
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各个中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为 “*”,预设数据包大小是 40Bytes,用户可另行设置。如果没有 traceroute 命令可执行 yum -y install traceroute 安装。
格式:
traceroute [参数] [主机|IP]
参数:
参数 | 含义 |
---|---|
-d | 使用 Socket 层级的排错功能 |
-f | 设置第一个检测数据包的存活数值 TTL 的大小 |
-F | 设置勿离断位 |
-g | 设置来源路由网关,最多可设置 8 个 |
-i | 使用指定的网络界面送出数据包 |
-l | I 使用 ICMP 回应取代 UDP 资料信息 |
-m | 设置检测数据包的最大存活数值 TTL 的大小 |
-n | 直接使用 IP 地址而非主机名称 |
-p | 设置 UDP 传输协议的通信端口 |
-r | 忽略普通的 Routing Table,直接将数据包送到远端主机上 |
-s | 设置本地主机送出数据包的 IP 地址 |
-t | 设置检测数据包的 TOS 数值 |
-v | 详细显示指令的执行过程 |
-w | 设置等待远端主机回报的时间 |
-x | 开启或关闭数据包的正确性检验 |
[root@c7-1 ~]#traceroute 20.0.0.25
traceroute to 20.0.0.25 (20.0.0.25), 30 hops max, 60 byte packets
1 20.0.0.25 (20.0.0.25) 0.942 ms 0.782 ms 0.647 ms
#可以看到这两台机器之间没有经过路由,是直连或连着交换机的状态
[root@c7-1 ~]#traceroute www.baidu.com
traceroute to www.baidu.com (112.80.248.75), 30 hops max, 60 byte packets
1 gateway (20.0.0.2) 5.900 ms 5.817 ms 5.758 ms
2 * * *
3 * * *
4 * * *
......
nslookup
nslookup
是一个用于查询域名系统(DNS)以获取有关域名、IP地址和其他DNS记录信息的网络管理命令行工具。
nslookup 域名
示例:
[root@c7-1 ~]#nslookup www.baidu.com
Server: 20.0.0.2
Address: 20.0.0.2#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 112.80.248.75
Name: www.a.shifen.com
Address: 112.80.248.76
[root@c7-1 ~]#nslookup www.google.com
Server: 20.0.0.2
Address: 20.0.0.2#53
Non-authoritative answer:
Name: www.google.com
Address: 104.244.46.208
Name: www.google.com
Address: 2001::1f0d:5211
[root@c7-1 ~]#cat /etc/resolv.conf #域名解析配置文件
# Generated by NetworkManager
# 一行一个 DNS,最多配置三个 DNS,优先使用第一个 DNS 服务器
nameserver 20.0.0.2
[root@c7-1 ~]#cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
112.80.248.75 www.baidu.com
#/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
ARP
ARP(Address Resolution Protocol,地址解析协议)缓冲区是在计算机或网络设备上维护的一个表格,用于存储 IP 地址与MAC 地址之间的映射关系。ARP 协议用于将目标主机的 IP 地址解析成其对应的 MAC 地址,从而实现数据在网络上的正确传输。
在一个局域网中,当计算机 A 需要与计算机 B 进行通信时,A 需要知道 B 的 MAC 地址才能正确发送数据包。这时,A 发送一个 ARP 请求广播,询问网络中是否有拥有特定 IP 地址的设备,并且请求对应设备的 MAC 地址。设备 B 收到请求后,会回复一个 ARP 响应,包含其自己的 MAC 地址。一旦 A 收到了 B 的 MAC 地址,它就可以将数据包正确地发送给 B。
ARP 缓冲区(或称为 ARP 表格、ARP 缓存)在这个过程中起到了重要作用。当设备 A 解析了设备 B 的 IP 地址并获取到 B 的 MAC 地址后,它将这个映射关系存储在 ARP 缓冲区中。这样,以后 A 需要与 B 通信时,就无需再次发送 ARP 请求,而是直接从 ARP 缓冲区中获取 B 的 MAC 地址,从而加速通信过程。
arp 命令用于操作主机的 arp 缓冲区,可以用来显示 arp 缓冲区中的所有条目、删除指定的条目或者添加静态的 ip 地址与 MAC 地址对应关系。
格式:
arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP cache
arp [-v] [-i <if>] -d <host> [pub] <-Delete ARP entry
arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from file
arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp] <-Add entry
arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub <-''-
参数:
-a<主机>: 显示 arp 缓冲区的所有条目 -H<地址类型>: 指定 arp 指令使用的地址类型 -d<主机>: 从 arp 缓冲区中删除指定主机的 arp 条目 -D: 使用指定接口的硬件地址 -e: 以 Linux 的显示风格显示 arp 缓冲区中的条目 -i<接口>: 指定要操作 arp 缓冲区的网络接口 -s<主机><MAC地址>:设置指定的主机的 IP 地址与 MAC 地址的静态映射 -n: 以数字方式显示 arp 缓冲区中的条目 -v: 显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息 -f<文件>: 设置主机的 IP 地址与 MAC 地址的静态映射
示例:
#显示 ARP 表
arp -n 或 ip neigh
#ARP 静态绑定 MAC 地址可以防止 ARP 欺骗
arp -s 10.0.0.6 00:0c:29:32:80:38
#删除 arp 缓存条目
arp -d 10.0.0.6
#指定回复的 MAC 地址
arp -i eth0 -Ds 10.0.0.2 eth1 pub
FTP
FTP(File Transfer Protocol)是一种用于在网络上传输文件的标准协议。你可以使用命令行界面或者专门的 FTP 客户端来测试和使用 FTP 命令。下面是一些基本的 FTP 命令以及如何进行测试:
连接到 FTP 服务器: 使用以下命令连接到 FTP 服务器,其中
<server_address>
是服务器的地址(域名或 IP 地址):ftp <server_address>
输入该命令后,你将会被要求输入用户名和密码来进行身份验证。
浏览远程目录: 连接成功后,你可以使用
ls
命令列出远程服务器上的文件和目录。切换远程目录: 使用
cd
命令来切换远程服务器上的目录:cd <directory_name>
下载文件: 使用
get
命令来下载远程服务器上的文件到本地:get <remote_file_name>
上传文件: 使用
put
命令来上传本地文件到远程服务器:put <local_file_name>
退出 FTP 会话: 使用
quit
或bye
命令来退出 FTP 会话:quit
请注意,上述命令只是 FTP 命令的一小部分,而实际的 FTP 客户端可能提供更多功能和选项。如果你在终端或命令提示符中直接使用上述命令,确保你已经连接到一个可用的 FTP 服务器,并且你已经登录并有足够的权限进行操作。