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捕获网络数据包并进行分析

如何学习黑客/网络安全?

这里我整合并且整理成了一份【282G】的网络安全/红客技术从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新网络安全/红客技术资料包~282G!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~

请添加图片描述

1️⃣零基础入门

学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
工具

视频

image1

书籍

image2

资源较为敏感,未展示全面,需要的下面获取

3️⃣面试集锦

面试资料

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

请添加图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

------ 🙇‍♂️ 本文转自网络,如有侵权,请联系删除 🙇‍♂️ ------

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐