Linux 网络命令大全,详细归纳!

你好,这里是网络技术联盟站,我是瑞哥。

Linux命令天天在用,但是在你使用的Linux命令中,你知道哪些是网络相关的命令吗?换句话说,你知道Linux中有哪些网络命令吗?

本文瑞哥就给大家列举15个Linux的网络命令,可以说是很全啦!由于文章篇幅有点长,建议大家还是先收藏一下这个备忘录!

arp命令

ARP(地址解析协议)是用于解析IP地址和MAC地址之间关系的协议。在Linux系统中,可以使用arp命令来查看、添加和删除ARP缓存项。

查看ARP缓存

要查看当前系统的ARP缓存,可以使用以下命令:

arp -a

这将显示系统中已解析的IP地址和对应的MAC地址。

添加ARP缓存项

如果需要手动添加ARP缓存项,可以使用以下命令:

sudo arp -s <IP地址> <MAC地址>

例如,要将IP地址为192.168.1.100的主机的MAC地址设置为00:11:22:33:44:55,可以执行以下命令:

sudo arp -s 192.168.1.100 00:11:22:33:44:55

删除ARP缓存项

要删除ARP缓存中的某一项,可以使用以下命令:

sudo arp -d <IP地址>

例如,要删除IP地址为192.168.1.100的ARP缓存项,可以执行以下命令:

sudo arp -d 192.168.1.100

通过arp命令,我们可以管理系统的ARP缓存,确保网络通信正常进行。

ifconfig命令

ifconfig命令用于配置和显示Linux系统的网络接口信息。虽然在一些新的Linux发行版中,ifconfig命令已经被标记为过时,建议使用ip命令代替,但它仍然是许多系统管理员和用户熟悉和广泛使用的工具之一。

显示所有网络接口信息

要显示所有网络接口的信息,可以简单地运行ifconfig命令,如下所示:

ifconfig

这将显示所有网络接口的详细信息,包括接口名称、MAC地址、IP地址、子网掩码等。

显示指定网络接口信息

如果你只想查看特定网络接口的信息,可以将接口名称作为参数传递给ifconfig命令。例如,要查看eth0接口的信息,可以运行以下命令:

ifconfig enp3s0

配置网络接口信息

除了查看网络接口信息外,ifconfig命令还可以用于配置网络接口。例如,要给eth0接口分配IP地址,可以使用以下命令:

sudo ifconfig eth0 <IP地址> netmask <子网掩码>

例如,要将eth0接口的IP地址设置为192.168.1.100,子网掩码为255.255.255.0,可以执行以下命令:

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

激活或禁用网络接口

ifconfig命令还可以用于激活或禁用网络接口。要启用网络接口,可以使用以下命令:

sudo ifconfig eth0 up

要禁用网络接口,可以使用以下命令:

sudo ifconfig eth0 down

通过ifconfig命令,我们可以查看、配置和管理系统的网络接口信息,确保网络连接正常运行。

ip命令

ip命令是Linux系统中用于配置和管理网络接口、路由表等网络相关信息的强大工具。相比于ifconfig命令,ip命令提供了更多的功能和选项,是更现代化和推荐的网络管理工具。

显示所有网络接口信息

要显示所有网络接口的信息,可以使用以下命令:

ip addr show

这将显示所有网络接口的详细信息,包括接口名称、MAC地址、IP地址、子网掩码等。

显示指定网络接口信息

如果你只想查看特定网络接口的信息,可以将接口名称作为参数传递给ip addr show命令。例如,要查看eth0接口的信息,可以运行以下命令:

ip addr show enp3s0

配置网络接口信息

ifconfig类似,ip命令也可以用于配置网络接口。例如,要给eth0接口分配IP地址,可以使用以下命令:

sudo ip addr add <IP地址>/<子网掩码长度> dev eth0

例如,要将eth0接口的IP地址设置为192.168.1.100,子网掩码长度为24,可以执行以下命令:

sudo ip addr add 192.168.1.100/24 dev eth0

激活或禁用网络接口

要启用网络接口,可以使用以下命令:

sudo ip link set dev eth0 up

要禁用网络接口,可以使用以下命令:

sudo ip link set dev eth0 down

显示路由表信息

除了网络接口信息外,ip命令还可以用于查看和管理系统的路由表。要显示路由表信息,可以使用以下命令:

ip route show

这将显示系统的路由表,包括目标网络、网关、接口等信息。

通过ip命令,我们可以更灵活地配置和管理系统的网络接口和路由表信息,确保网络连接的正常运行。

netstat命令

netstat命令用于显示系统的网络状态信息,包括网络连接、路由表、接口统计信息等。它是一个非常常用的网络工具,可以帮助管理员监视和诊断网络活动。

显示所有网络连接信息

要显示所有网络连接的信息,可以使用以下命令:

netstat -a

这将显示所有的网络连接,包括TCP和UDP连接,以及监听中的端口。

显示指定协议的网络连接信息

如果你只想查看特定协议(如TCP或UDP)的网络连接信息,可以使用以下命令:

netstat -t  # 显示TCP连接信息
netstat -u  # 显示UDP连接信息

显示路由表信息

netstat命令还可以用于显示系统的路由表信息。要显示路由表信息,可以使用以下命令:

netstat -r

这将显示系统的路由表,包括目标网络、网关、接口等信息。

显示监听端口信息

如果你只想查看正在监听的端口信息,可以使用以下命令:

netstat -l

这将显示所有正在监听的端口及其对应的服务。

显示网络接口统计信息

netstat命令还可以用于显示网络接口的统计信息,包括接收和发送的数据包数量、错误等信息。要显示接口统计信息,可以使用以下命令:

netstat -i

通过netstat命令,我们可以实时监视系统的网络活动,及时发现并解决网络相关问题。

ss命令

ss命令是另一个用于显示系统网络套接字和网络状态信息的工具,它提供了比netstat更多的功能和选项。ss命令可以用于查看网络连接、路由表、接口统计信息等,是系统管理员和网络工程师常用的工具之一。

显示所有网络连接信息

要显示所有网络连接的信息,可以使用以下命令:

ss -a

这将显示所有的网络连接,包括TCP和UDP连接,以及监听中的端口。

显示指定协议的网络连接信息

如果你只想查看特定协议(如TCP或UDP)的网络连接信息,可以使用以下命令:

ss -t  # 显示TCP连接信息
ss -u  # 显示UDP连接信息

显示路由表信息

ss命令也可以用于显示系统的路由表信息。要显示路由表信息,可以使用以下命令:

ss -r

这将显示系统的路由表,包括目标网络、网关、接口等信息。

显示监听端口信息

如果你只想查看正在监听的端口信息,可以使用以下命令:

ss -l

这将显示所有正在监听的端口及其对应的服务。

显示接口统计信息

ss命令还可以用于显示网络接口的统计信息,包括接收和发送的数据包数量、错误等信息。要显示接口统计信息,可以使用以下命令:

ss -i

通过ss命令,我们可以更全面地了解系统的网络状态,帮助及时发现和解决网络相关问题。

ping命令

ping命令是用于测试与目标主机的连通性的工具,它发送ICMP回显请求并等待目标主机的回复。ping命令常用于检查网络连接是否正常,以及测量网络延迟。

发送ICMP回显请求

要使用ping命令发送ICMP回显请求,只需指定目标主机的IP地址或域名即可。例如,要ping目标主机example.com,可以运行以下命令:

ping example.com

指定ping次数和超时时间

默认情况下,ping命令会一直发送ICMP回显请求,直到手动停止。你可以使用-c选项指定ping的次数,使用-w选项指定超时时间(单位为秒)。例如,要ping目标主机example.com,并且只发送5个ICMP回显请求,超时时间为2秒,可以运行以下命令:

ping -c 5 -w 2 example.com

持续ping

有时候需要持续ping目标主机,以监视网络连接的稳定性。你可以使用-i选项指定ping的间隔时间(单位为秒)。例如,要持续ping目标主机example.com,并且每隔5秒发送一个ICMP回显请求,可以运行以下命令:

ping -i 5 example.com

结果解释

ping命令将显示每个ICMP回显请求的结果,包括目标主机的响应时间、丢包率等信息。通常,响应时间越短越好,丢包率越低越好。

通过ping命令,我们可以快速检测目标主机的连通性,并进行简单的网络性能测试。

traceroute命令

traceroute命令用于跟踪数据包从本地主机到目标主机的路由路径。它通过发送UDP数据包,并观察每个中间路由器的响应时间,来确定数据包的传输路径。traceroute命令可以帮助我们诊断网络连接问题,查找网络延迟的原因。

如果系统没有安装traceroute,还需要安装一下:

发送traceroute请求

要使用traceroute命令跟踪数据包的路由路径,只需指定目标主机的IP地址或域名即可。例如,要traceroute目标主机example.com,可以运行以下命令:

traceroute example.com

指定最大跃点数

默认情况下,traceroute命令将跟踪数据包到达目标主机或者跃点数达到30为止。你可以使用-m选项指定最大跃点数。例如,要traceroute目标主机example.com,并且限制最大跃点数为15,可以运行以下命令:

traceroute -m 15 example.com

指定使用的协议和端口号

traceroute命令默认使用UDP协议和端口号33434,但你也可以使用其他协议和端口号。你可以使用-I选项指定使用ICMP协议,或者使用-T选项指定使用TCP协议,并且使用-p选项指定端口号。例如,要使用ICMP协议traceroute目标主机example.com,可以运行以下命令:

traceroute -I example.com

结果解释

traceroute命令将显示数据包经过的每个路由器的IP地址、响应时间等信息,以及每个路由器的域名(如果可解析)。通常情况下,响应时间越短越好,但有时候会出现一些路由器对ICMP请求进行限制或过滤,导致响应时间较长。

通过traceroute命令,我们可以了解数据包从本地主机到目标主机的传输路径,帮助我们定位网络连接中的问题。

mtr命令

mtr命令结合了pingtraceroute的功能,提供了更全面的网络诊断信息。它不仅可以测量目标主机的连通性,还可以跟踪数据包从本地主机到目标主机的路由路径,并显示每个路由器的丢包率、响应时间等信息。

发送mtr请求

要使用mtr命令进行网络诊断,只需指定目标主机的IP地址或域名即可。例如,要使用mtr命令诊断目标主机example.com,可以运行以下命令:

mtr example.com

持续监视

ping命令类似,mtr命令也支持持续监视目标主机的连通性。你可以使用-i选项指定间隔时间(单位为秒)。例如,要每隔5秒监视目标主机example.com的连通性,可以运行以下命令:

mtr -i 5 example.com

结果解释

mtr命令将显示每个路由器的IP地址、丢包率、平均响应时间等信息。它还会以图形化的方式显示每个路由器的响应时间变化情况,帮助你更直观地了解网络状况。通常情况下,丢包率越低、响应时间越短越好。

交互模式

除了命令行模式外,mtr命令还提供了交互模式,允许你动态查看网络诊断信息。只需运行mtr命令,然后输入目标主机的IP地址或域名即可进入交互模式。

通过mtr命令,我们可以实时监视目标主机的连通性,并了解每个中间路由器的性能情况,帮助我们更快地发现和解决网络问题。

dig命令、host命令、nslookup命令

这三个命令都用于DNS查询,用于查询主机名解析和IP地址解析。

dig命令

dig命令是一个强大的DNS工具,用于执行DNS查询并显示域名解析相关的详细信息。它可以查询各种类型的DNS记录,如A记录、MX记录、NS记录等。

例如,要查询域名example.com的A记录,可以运行以下命令:

dig example.com A

host命令

host命令用于执行基本的DNS查询,查询给定主机名或IP地址的相关信息。它会显示主机名对应的IP地址,或者IP地址对应的主机名。

例如,要查询IP地址8.8.8.8对应的主机名,可以运行以下命令:

host 8.8.8.8

nslookup命令

nslookup命令也用于执行DNS查询,查询给定主机名或IP地址的相关信息。它可以交互式地执行查询,并提供更多的选项和功能。

例如,要查询域名example.com对应的IP地址,可以运行以下命令:

nslookup example.com

这三个命令都是进行DNS查询的工具,可以帮助我们了解主机名解析和IP地址解析的情况,用于网络配置和故障排除。

route命令

route命令用于查看和配置系统的路由表信息。路由表是一个重要的网络配置文件,它确定了数据包从源主机到目标主机的传输路径。

显示路由表信息

要显示系统的路由表信息,可以简单地运行route命令:

route

这将显示系统的路由表,包括目标网络、网关、接口等信息。

添加路由表项

如果需要手动添加路由表项,可以使用route add命令。例如,要将目标网络为192.168.2.0/24的数据包通过网关192.168.1.1发送,可以执行以下命令:

sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

删除路由表项

要删除路由表中的某一项,可以使用route del命令。例如,要删除目标网络为192.168.2.0/24的路由表项,可以执行以下命令:

sudo route del -net 192.168.2.0 netmask 255.255.255.0

设置默认网关

默认情况下,系统会根据路由表来确定数据包的传输路径。如果需要手动设置默认网关,可以使用route add default命令。例如,要将默认网关设置为192.168.1.1,可以执行以下命令:

sudo route add default gw 192.168.1.1

通过route命令,我们可以查看和配置系统的路由表信息,确保数据包能够正确地传输到目标主机。

iptables命令

iptables命令用于配置和管理Linux系统的防火墙规则。防火墙是用于保护计算机网络安全的重要组件,可以控制数据包的流动,阻止不明来源或恶意的数据包进入系统。

显示防火墙规则

要显示当前系统的防火墙规则,可以运行以下命令:

sudo iptables -L

这将显示当前系统的所有防火墙规则,包括输入规则、输出规则和转发规则。

添加防火墙规则

如果需要添加新的防火墙规则,可以使用iptables -A命令。例如,要允许从特定IP地址(例如192.168.1.100)访问SSH服务(端口22),可以执行以下命令:

sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT

删除防火墙规则

要删除已存在的防火墙规则,可以使用iptables -D命令。例如,要删除之前添加的允许从特定IP地址访问SSH服务的规则,可以执行以下命令:

sudo iptables -D INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT

设置默认策略

默认情况下,防火墙会根据规则来决定是否允许或拒绝数据包的流动。如果需要设置默认策略,可以使用iptables -P命令。例如,要将默认策略设置为拒绝所有输入数据包,可以执行以下命令:

sudo iptables -P INPUT DROP

保存和恢复防火墙规则

为了确保防火墙规则在系统重启后仍然有效,可以将当前规则保存到文件中,然后在系统启动时恢复。使用以下命令保存当前规则:

sudo iptables-save > /etc/iptables/rules.v4

要在系统启动时恢复防火墙规则,可以编辑/etc/rc.local文件,在文件中添加以下内容:

/sbin/iptables-restore < /etc/iptables/rules.v4

通过iptables命令,我们可以配置和管理系统的防火墙规则,保护系统免受网络攻击和恶意访问。

nmap命令

nmap是一款强大的网络扫描工具,用于发现网络上的主机和开放的端口,以及识别主机上运行的服务。它可以帮助系统管理员评估网络的安全性,发现潜在的安全漏洞,并进行网络调查和审计。

基本扫描

要进行基本的扫描,只需指定目标主机的IP地址或域名即可。例如,要扫描目标主机example.com,可以运行以下命令:

nmap example.com

指定端口范围扫描

你可以使用-p选项指定要扫描的端口范围。例如,要扫描目标主机example.com的端口范围从1到100,可以运行以下命令:

nmap -p 1-100 example.com

指定扫描技术

nmap支持多种扫描技术,如TCP SYN扫描、UDP扫描、ACK扫描等。你可以使用不同的选项来指定扫描技术。例如,要使用TCP SYN扫描技术扫描目标主机example.com,可以运行以下命令:

nmap -sS example.com

输出扫描结果

默认情况下,nmap将扫描结果显示在终端上。如果需要将扫描结果保存到文件中,可以使用-o选项指定输出文件名。例如,要将扫描结果保存到文件scan_result.txt中,可以运行以下命令:

nmap -oN scan_result.txt example.com

探测服务版本

nmap可以探测目标主机上运行的服务版本。要启用服务版本探测功能,可以使用-sV选项。例如,要扫描目标主机example.com并探测运行的服务版本,可以运行以下命令:

nmap -sV example.com

通过nmap命令,我们可以快速了解目标主机的网络情况,包括开放的端口、运行的服务以及潜在的安全风险。

tcpdump命令

tcpdump是一个强大的网络抓包工具,用于捕获网络数据包并进行分析。它可以帮助系统管理员监视网络流量,诊断网络问题,以及进行网络安全分析。

基本抓包

要进行基本的抓包,只需指定网络接口即可。例如,要抓包监听eth0接口上的所有网络流量,可以运行以下命令:

sudo tcpdump -i eth0

指定抓包过滤条件

你可以使用过滤条件来指定你感兴趣的网络流量。例如,要只抓取目标主机192.168.1.100发送或接收的数据包,可以运行以下命令:

sudo tcpdump host 192.168.1.100

指定抓包的协议和端口

你可以使用协议和端口来过滤你感兴趣的网络流量。例如,要只抓取目标主机192.168.1.100发送或接收的HTTP流量(端口80),可以运行以下命令:

sudo tcpdump host 192.168.1.100 and port 80

保存抓包结果

默认情况下,tcpdump将抓包结果显示在终端上。如果需要将抓包结果保存到文件中,可以使用-w选项指定输出文件名。例如,要将抓包结果保存到文件capture.pcap中,可以运行以下命令:

sudo tcpdump -i eth0 -w capture.pcap

读取抓包文件

你可以使用tcpdump命令读取之前保存的抓包文件。例如,要读取文件capture.pcap中的抓包结果,可以运行以下命令:

sudo tcpdump -r capture.pcap

通过tcpdump命令,我们可以捕获和分析网络数据包,帮助我们监视网络流量、诊断网络问题以及进行网络安全分析。

总结

为了方便大家记忆,这里瑞哥给大家做个总结:

命令 描述
arp 显示和操作系统的ARP缓存
ifconfig 显示和配置网络接口信息
ip 配置和管理网络接口和路由表
netstat 显示系统的网络状态信息
ss 显示系统的网络套接字和状态信息
ping 测试与目标主机的连通性
traceroute 跟踪数据包从本地主机到目标主机的路由路径
mtr 结合ping和traceroute功能的网络诊断工具
dig 执行DNS查询并显示域名解析相关的详细信息
host 执行基本的DNS查询
nslookup 用于查询主机名解析和IP地址解析
route 查看和配置系统的路由表信息
iptables 配置和管理系统的防火墙规则
nmap 强大的网络扫描工具,用于发现网络上的主机和开放的端口
tcpdump 捕获网络数据包并进行分析

相关推荐

  1. 网络命令大全windows linux

    2024-05-02 21:18:01       30 阅读
  2. Linux 命令大全备忘录

    2024-05-02 21:18:01       71 阅读
  3. [学习] linux命令大全

    2024-05-02 21:18:01       36 阅读
  4. Linux 命令大全

    2024-05-02 21:18:01       29 阅读
  5. docker命令详解大全

    2024-05-02 21:18:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 21:18:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 21:18:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 21:18:01       87 阅读
  4. Python语言-面向对象

    2024-05-02 21:18:01       96 阅读

热门阅读

  1. 题解:CF1951E(No Palindromes)

    2024-05-02 21:18:01       26 阅读
  2. 安卓接入wwise

    2024-05-02 21:18:01       30 阅读
  3. 安装PyKDL库: No module named ‘PyKDL

    2024-05-02 21:18:01       32 阅读
  4. eureka报错:链接8761被拒绝

    2024-05-02 21:18:01       37 阅读
  5. http的url中的?与&

    2024-05-02 21:18:01       38 阅读
  6. 河南省工程系列建筑专业职称申报评审条件

    2024-05-02 21:18:01       35 阅读
  7. 五一假期——1

    2024-05-02 21:18:01       29 阅读
  8. 【数学】高斯消元

    2024-05-02 21:18:01       37 阅读