共计 6018 个字符,预计需要花费 16 分钟才能阅读完成。
这篇文章主要介绍“linux 中的网络命令有哪些”,在日常操作中,相信很多人在 linux 中的网络命令有哪些问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux 中的网络命令有哪些”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
Linux 下内置了多种网络命令:1、ping,用来测试 TCP/IP 网络是否畅通或者测试网络连接速度;2、telnet,用于登录远程主机、对远程主机进行管理;3、netstat,用来打印 Linux 中网络系统的状态信息;4、ifconfig 等。
本教程操作环境:linux5.9.8 系统、Dell G3 电脑。
Linux 下有多种网络命令,下面给大家分享一些常见网络命令,
Linux 下常见网络命令
1、ping
ping 命令是用来测试 TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
ping 命令的原理是根据计算机唯一标示的 IP 地址,当用户给目的地址发送一个数据包时,对方就会返回一个同样大小的数据包,根据返回的数据包用户可以确定目的主机的存在,并初步判断目的主机的操作系统。
用法
(1)命令格式
ping (选项)目的地址
目的地址指的是被测计算机的 IP 地址、主机名或者是域名。ping 命令包含 12 个参数,所有参数都可以通过执行 ping 来查看。如下图:
(2)实例
注:Linux 下的 ping 命令和 Windows 下的 ping 命令不同,需要 Ctrl+ C 来终止
(Linux 和 Windows 下 ping 命令的区别)
(3)选项
-d:使用 Socket 的 SO_DEBUG 功能;
-c 完成次数:设置完成要求回应的次数;
-f:极限检测;
-i 间隔秒数:指定收发信息的间隔时间;
-L 网络界面:使用指定的网络界面送出数据包;
-l 前置载入:设置在送出要求信息之前,先行发出的数据包;
-n:只输出数值;
-p 范本样式:设置填满数据包的范本样式;
-q:不显示指令执行过程,开头和结尾的相关信息除外;
-r:忽略普通的 Routing Table,直接将数据包送到远端主机上;
-R:记录路由过程;
-s 数据包大小:设置数据包的大小;
-v:详细显示指令的执行过程。
-t 存活数值:设置存活数值 TTL 的大小
说一下其中的 -c、- i 参数
其中 –c count 次数,也就是 ping 的次数;-i interval 间隔,每次 ping 之间的时间空格
2、telnet
telnet 命令用于登录远程主机,对远程主机进行管理。telnet 因为采用明文传送报文,安全性不好,很多 Linux 服务器都不开放 telnet 服务,而改用更安全的 ssh 方式了。
用法
(1)命令格式:
telnet (选项) (参数)
(2)实例
(3)参数
远程主机:指定要登录进行管理的远程主机
端口:指定 TELNET 协议使用的端口号
(4)选项
-8:允许使用 8 位字符资料,包括输入与输出;
-a:尝试自动登入远端系统;
-b 主机别名:使用别名指定远端主机名称;
-c:不读取用户专属目录里的.telnetrc 文件;
-d:启动排错模式;
-e 脱离字符:设置脱离字符;
-E:滤除脱离字符;
-f:此参数的效果和指定”-F”参数相同;
-F:使用 Kerberos V5 认证时,加上此参数可把本地主机的认证数据上传到远端主机;
-k 域名:使用 Kerberos 认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名;
-K:不自动登入远端主机;
-l 用户名称:指定要登入远端主机的用户名称;
-L:允许输出 8 位字符资料;
-n 记录文件:指定文件记录相关信息;
-r:使用类似 rlogin 指令的用户界面;
-S 服务类型:设置 telnet 连线所需的 ip TOS 信息;
-x:假设主机有支持数据加密的功能,就使用它;
-X 认证形态:关闭指定的认证形态。
3、netstat
netstat 命令用来打印 Linux 中网络系统的状态信息,可让你得知整个 Linux 系统的网络情况
用法
(1)命令格式
netstat(选项)
(2)选项
- a 或–all:显示所有连线中的 Socket;
-A 网络类型 或– 网络类型:列出该网络类型连线中的相关地址;
- c 或–continuous:持续列出网络状态;
- C 或–cache:显示路由器配置的快取信息;
- e 或–extend:显示网络其他相关信息;
- F 或–fib:显示 FIB;
- g 或–groups:显示多重广播功能群组组员名单;
- h 或–help:在线帮助;
- i 或–interfaces:显示网络界面信息表单;
- l 或–listening:显示监控中的服务器的 Socket;
- M 或–masquerade:显示伪装的网络连线;
- n 或–numeric:直接使用 ip 地址,而不通过域名服务器;
- N 或–netlink 或–symbolic:显示网络硬件外围设备的符号连接名称;
- o 或–timers:显示计时器;
- p 或–programs:显示正在使用 Socket 的程序识别码和程序名称;
- r 或–route:显示 Routing Table;
- s 或–statistice:显示网络工作信息统计表;
- t 或–tcp:显示 TCP 传输协议的连线状况;
- u 或–udp:显示 UDP 传输协议的连线状况;
- v 或–verbose:显示指令执行过程;
- V 或–version:显示版本信息;
- w 或–raw:显示 RAW 传输协议的连线状况;
- x 或–unix:此参数的效果和指定”-A unix”参数相同;
–ip 或–inet:此参数的效果和指定”-A inet”参数相同
(3)实例
netstat -a // 列出所有端口
netstat -at // 列出所有 tcp 端口
netstat -au // 列出所有 udp 端口
在这里显示所有的 TCP 端口
netstat -l // 只显示监听端口
netstat -lt // 只列出所有监听 tcp 端口
netstat -lu // 只列出所有监听 udp 端口
和上面的图相比,可以看到只显示出了监听状态的 TCP 端口
4、ifconfig
ifconfig 命令被用于配置和显示 Linux 内核中网络接口的网络参数。用 ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
用法
(1)命令格式
ifconfig(参数)
(2)实例
eth0 表示第一块网卡,可以看到这个网卡的信息
HWaddr 表示网卡的物理地址即 MAC 地址,可以看到目前这个网卡的 MAC 地址是:00:0C:29:A7:C0:6C
inet addr 用来表示网卡的 IP 地址,此网卡的 IP 地址是:192.168.1.106
广播地址 Bcast:192.168.1.255
掩码地址 Mask:255.255.255.0
lo 是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。
(3)参数
add 地址:设置网络设备 IPv6 的 ip 地址
del 地址:删除网络设备 IPv6 的 IP 地址
down:关闭指定的网络设备
io_addr I/ O 地址:设置网络设备的 I / O 地址
irq IRQ 地址:设置网络设备的 IRQ;
media 网络媒介类型:设置网络设备的媒介类型;
mem_start 内存地址:设置网络设备在主内存所占用的起始地址;
metric 数目:指定在计算数据包的转送次数时,所要加上的数目;
mtu 字节:设置网络设备的 MTU;
netmask 子网掩码:设置网络设备的子网掩码;
tunnel 地址:建立 IPv4 与 IPv6 之间的隧道通信地址;
up:启动指定的网络设备;
-broadcast 地址:将要送往指定地址的数据包当成广播数据包来处理;
-pointopoint 地址:与指定地址的网络设备建立直接连线,此模式具有保密功能;
-promisc:关闭或启动指定网络设备的 promiscuous 模式;
IP 地址:指定网络设备的 IP 地址;
网络设备:指定网络设备的名称。
5、route
route 命令用来显示并设置 Linux 内核中的网络路由表,route 命令设置的路由主要是静态路由。
要注意的是,直接在命令行下执行 route 命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在 */etc/rc.local 中添加 route 命令来保证该路由设置永久有效。
用法
(1)命令格式
route(选项)(参数)
(2)选项
-A:设置地址类型;
-C:打印将 Linux 核心的路由缓存;
-v:详细信息模式;
-n:不执行 DNS 反向查找,直接显示数字形式的 IP 地址;
-e:netstat 格式显示路由表;
-net:到一个网络的路由表;
-host:到一个主机的路由表。
(3)参数
Add:增加指定的路由记录
Del:删除指定的路由记录
Target:目的网络或目的主机
gw:设置默认网关
mss:设置 TCP 的最大区块长度(MSS),单位为 MB
window:指定通过路由表的 TCP 连接的 TCP 窗口大小
dev:路由记录所表示的网络接口
(4)实例
显示当前路由,从图中可以看出加了选项 - n 的变化
删除和添加设置默认网关
6、arp
arp 命令用于操作主机 arp 缓冲区,可以显示 arp 缓冲区的所有条目、删除指定条目或增加静态 IP 地址与 MAC 地址的对应关系
用法
(1)命令格式
arp(选项)(参数)
(2)选项
-a 主机:显示 arp 缓冲区的所有条目
-H 地址类型:指定 arp 指令使用的地址类型
-d 主机:从 arp 缓冲区中删除指定主机的 arp 条目
-D:使用指定接口的硬件地址
-e:以 Linux 的显示风格显示 arp 缓冲区中的条目
-i 接口:指定要操作 arp 缓冲区的网络接口
-s 主机 硬件地址:设置指定主机的 IP 地址与 MAC 地址的静态映射
-n:以数字方式显示 arp 缓冲区中的条目
-v:显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息
-f 文件:设置主机的 IP 地址与 MAC 地址的静态映射
(3)参数
主机:查询 arp 缓冲区中指定主机的 arp 条目。
(4)实例
7、traceroute
traceroute 命令用于追踪数据包在网络上传输时的全部路径,它默认发送的数据包大小是 40 字节
通过 traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地 (destination) 走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。
traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 traceroute 要测 3 次。输出结果中包括每次测试的时间 (ms) 和设备的名称(如有的话)及其 ip 地址
用法
(1)命令格式
traceroute(选项)(参数)
(2)选项
-d:使用 Socket 层级的排错功能
-f 存活时间:设置第一个检测数据包的存活数值 TTL 的大小
-F:设置勿离断位
-g 网关:设置来源路由网关,最多可设置 8 个
-i 网络界面:使用指定的网络界面送出数据包
-l:使用 ICMP 回应取代 UDP 资料信息
-m 存活数值:设置检测数据包的最大存活数值 TTL 的大小
-n:直接使用 IP 地址而非主机名
-p 通信端口:设置 UDP 传输协议的通信端口
-r:忽略普通的 Routing Table,直接将数据包送到远端主机上
-s 来源地址:设置本地主机送出数据包的 TOS 数值
-v:详细显示指令的执行过程
-w 超时秒数:设置等待远端主机回报的时间
-x:开启或关闭数据包的正确性检验
(3)参数
主机:指定目的主机 IP 地址或主机名
(4)实例
从图中可以看出记录按序列号从 1 开始,每个纪录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是 - q 的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;
在后面一部分我们会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了 ICMP 的返回信息,所以我们得不到什么相关的数据包返回数据。
8、host
host 命令是常用的分析域名查询工具,可以检测域名系统工作是否正常
用法
(1)命令格式
host(选项)(参数)
(2)选项
-a:显示详细的 DNS 信息
-c 类型:指定查询类型,默认值为“IN”
-C:查询指定主机的完整 SOA 记录
-r:在查询域名时,不使用递归的查询方式
-t 类型:指定查询第域名信息类型
-v:显示指令执行的详细信息
-a:显示详细的 DNS 信息;
-w:如果域名服务器没有给出应答信息,则一直等待,直到域名服务器给出应答
-W 时间:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令
-4:使用 IPv4
-6:使用 IPv6
(3)参数
主机:要查询的主机信息
(4)实例
9、tcpdump
tcpdump 命令是一款抓取数据包的工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用 - w 选项将数据包保存到文件中,方便以后分析。
用法
(1)命令格式
tcpdump(选项)
(2)选项
-a:尝试将网络和广播地址转换成名称;
-c 数据包数目:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成 C 语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F 表达文件:指定内含表达方式的文件;
-i 网络界面:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q:快速输出,仅列出少数的传输协议信息;
-r 数据包文件:从指定的文件读取数据包数据;
-s 数据包大小:设置每个数据包的大小;
-S:用绝对而非相对数值列出 TCP 关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt:在每列倾倒资料上显示未经格式化的时间戳记;
-T 数据包类型:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w 数据包文件:把数据包数据写入指定的文件。
(3)实例
tcpdump:监视第一个网络接口上流过的所有数据包(带上 - i 选项,是监视指定网络接口)
到此,关于“linux 中的网络命令有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!