Linux 网络命令大全,详细归纳!
命令描述arp显示和操作系统的ARP缓存ifconfig显示和配置网络接口信息ip配置和管理网络接口和路由表netstat显示系统的网络状态信息ss显示系统的网络套接字和状态信息ping测试与目标主机的连通性traceroute跟踪数据包从本地主机到目标主机的路由路径mtr结合ping和traceroute功能的网络诊断工具dig执行DNS查询并显示域名解析相关的详细信息host执行基本的DNS查
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
命令结合了ping
和traceroute
的功能,提供了更全面的网络诊断信息。它不仅可以测量目标主机的连通性,还可以跟踪数据包从本地主机到目标主机的路由路径,并显示每个路由器的丢包率、响应时间等信息。
发送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 | 捕获网络数据包并进行分析 |
如何学习黑客/网络安全?
这里我整合并且整理成了一份【282G】的网络安全/红客技术从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新网络安全/红客技术资料包~282G!无偿分享!!!
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
1️⃣零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
工具
视频
书籍
资源较为敏感,未展示全面,需要的下面获取
3️⃣面试集锦
面试资料
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)