百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

12 个流行的 Linux 网络命令及其使用方法

ahcoder 2025-06-10 12:29 6 浏览

在Linux系统中,网络管理是系统管理员和开发者的核心技能之一。无论是排查网络问题、监控流量,还是配置网络接口,Linux提供了众多强大的命令行工具。这些工具功能强大且灵活,能够帮助用户高效地完成网络相关的任务。本文将深入介绍12个流行的Linux网络命令,涵盖其基本用法、常见场景和高级技巧,旨在帮助读者全面掌握Linux网络管理技能。

1. ping - 测试网络连通性

ping 是最常用的网络诊断工具,用于测试主机与目标地址之间的连通性。它通过发送ICMP(Internet控制消息协议)回显请求数据包并等待响应来判断网络是否可达。

基本用法

ping [选项] 目标地址

常用选项

  • -c 次数:指定发送的请求次数。
  • -i 间隔:设置每次请求的间隔时间(秒)。
  • -s 字节数:设置数据包大小。

示例

ping -c 4 baidu.com

此命令向 baidu.com 发送4次ICMP请求,并显示每次的响应时间。

高级用法

  • 检查网络延迟:ping -i 0.2 baidu.com(每0.2秒发送一次请求)。
  • 测试大包传输:ping -s 1000 baidu.com(发送1000字节的数据包)。

注意事项

  • 某些服务器可能禁用ICMP,导致 ping 无响应,但并不代表网络不可达。
  • 使用 ping -f(洪水模式)需谨慎,可能引发网络安全警报。

2. ip - 管理网络接口和路由

ip 是现代Linux系统中用于配置网络接口、路由表和策略的强大工具,取代了过时的 ifconfig

基本用法

ip [对象] [命令]

常用对象

  • link:管理网络接口。
  • addr:管理IP地址。
  • route:管理路由表。

示例

  • 查看网络接口:ip link show
  • 为接口分配IP地址:ip addr add 192.168.1.100/24 dev eth0
  • 查看路由表:ip route show

高级用法

  • 启用/禁用接口:ip link set eth0 upip link set eth0 down
  • 添加默认网关:ip route add default via 192.168.1.1

注意事项

  • ip 命令的更改通常是临时的,重启后失效,需写入配置文件(如 /etc/network/interfaces)。
  • 确保对网络配置有充分了解,避免误操作导致网络中断。

3. ifconfig - 传统网络接口配置工具

ifconfig 是早期用于配置和查看网络接口的工具,尽管已被 ip 取代,但在许多旧系统上仍广泛使用。

基本用法

ifconfig [接口] [选项]

常用选项

  • up:激活网络接口。
  • down:禁用网络接口。
  • 地址:设置IP地址。

示例

  • 查看所有接口:ifconfig -a
  • 配置IP地址:ifconfig eth0 192.168.1.100 netmask 255.255.255.0

高级用法

  • 设置MTU(最大传输单元):ifconfig eth0 mtu 1400
  • 查看接口统计信息:ifconfig eth0 | grep "RX packets"

注意事项

  • 许多现代发行版已不再默认安装 ifconfig,需安装 net-tools 包。
  • 推荐使用 ip 命令以获得更现代化的功能。

4. netstat - 显示网络状态和统计信息

netstat 用于显示网络连接、路由表和接口统计信息,是网络故障排查的常用工具。

基本用法

netstat [选项]

常用选项

  • -a:显示所有连接(包括监听状态)。
  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -r:显示路由表。

示例

  • 查看所有活动连接:netstat -tunap
  • 查看路由表:netstat -r

高级用法

  • 查找特定端口:netstat -tunlp | grep 80
  • 统计连接状态:netstat -s

注意事项

  • netstat 在新系统中逐渐被 ss 取代。
  • 需安装 net-tools 包。

5. ss - 现代化的网络连接查看工具

ssnetstat 的现代替代品,性能更高,输出更简洁,用于显示网络套接字信息。

基本用法

ss [选项]

常用选项

  • -t:显示TCP套接字。
  • -u:显示UDP套接字。
  • -l:显示监听套接字。
  • -p:显示关联进程。

示例

  • 查看所有TCP连接:ss -t
  • 查看监听端口:ss -tuln

高级用法

  • 过滤特定端口:ss -t 'dst :80'
  • 显示进程ID:ss -tlp

注意事项

  • ss 的输出更简洁,适合脚本处理。
  • 确保用户有足够权限查看进程信息。

6. nslookup - 查询DNS记录

nslookup 用于查询DNS记录,检查域名解析是否正确。

基本用法

nslookup [域名] [DNS服务器]

示例

  • 查询域名:nslookup google.com
  • 指定DNS服务器:nslookup google.com 8.8.8.8

高级用法

  • 查询特定记录类型:nslookup -type=MX google.com(查询邮件交换记录)
  • 进入交互模式:nslookup

注意事项

  • nslookup 的输出较为简单,适合快速查询。
  • 对于复杂DNS查询,推荐使用 dig

7. dig - 高级DNS查询工具

dig 是一个功能强大的DNS查询工具,提供详细的解析信息。

基本用法

dig [域名] [选项]

常用选项

  • +short:简化输出。
  • @服务器:指定DNS服务器。
  • 类型:查询特定记录类型(如A、MX、NS)。

示例

  • 查询域名:dig google.com
  • 查询MX记录:dig google.com MX
  • 使用Google DNS:dig @8.8.8.8 google.com

高级用法

  • 跟踪解析过程:dig +trace google.com
  • 批量查询:dig -f domains.txt

注意事项

  • dig 提供了更详细的输出,适合高级用户。
  • 需安装 dnsutils 包。

8. curl - 传输数据与测试API

curl 是一个多功能的数据传输工具,支持HTTP、HTTPS、FTP等协议,常用于测试API或下载文件。

基本用法

curl [选项] [URL]

常用选项

  • -o 文件:保存输出到文件。
  • -I:仅显示头部信息。
  • -X 方法:指定HTTP方法(如GET、POST)。

示例

  • 获取网页内容:curl https://example.com
  • 发送POST请求:curl -X POST -d "data=value" https://api.example.com

高级用法

  • 设置请求头:curl -H "Authorization: Bearer token" https://api.example.com
  • 下载文件:curl -o file.zip https://example.com/file.zip

注意事项

  • curl 支持大量协议,适合复杂网络任务。
  • 使用 -k 忽略SSL验证需谨慎。

9. wget - 下载文件

wget 是一个专注于文件下载的工具,支持HTTP、HTTPS和FTP。

基本用法

wget [选项] [URL]

常用选项

  • -O 文件:指定输出文件名。
  • -c:断点续传。
  • -r:递归下载。

示例

  • 下载文件:wget https://example.com/file.zip
  • 递归下载网站:wget -r https://example.com

高级用法

  • 限速下载:wget --limit-rate=200k https://example.com/file.zip
  • 后台下载:wget -b https://example.com/file.zip

注意事项

  • 递归下载可能消耗大量资源,需谨慎使用。
  • 确保目标服务器允许下载。

10. traceroute - 跟踪网络数据包路径

traceroute 用于跟踪数据包从本地到目标主机的路径,显示每一跳的延迟。

基本用法

traceroute [选项] 目标地址

常用选项

  • -n:仅显示IP地址,不解析主机名。
  • -m 跳数:设置最大跳数。

示例

  • 跟踪路径:traceroute google.com
  • 限制最大跳数:traceroute -m 10 google.com

高级用法

  • 使用TCP协议:traceroute -T google.com
  • 指定端口:traceroute -p 80 google.com

注意事项

  • 某些路由器可能禁用ICMP,导致部分跳跃无响应。
  • 需安装 traceroute 包。

11. nmap - 网络扫描与安全审计

nmap 是一个强大的网络扫描工具,用于发现主机、端口和服务。

基本用法

nmap [选项] 目标地址

常用选项

  • -sS:TCP SYN扫描。
  • -O:操作系统检测。
  • -p 端口:指定扫描端口。

示例

  • 扫描主机端口:nmap 192.168.1.1
  • 扫描端口范围:nmap -p 1-1000 192.168.1.1

高级用法

  • 全面扫描:nmap -A 192.168.1.1
  • 扫描子网:nmap 192.168.1.0/24

注意事项

  • 未经授权扫描可能违法,需遵守法律和道德规范。
  • 需安装 nmap 包。

12. tcpdump - 捕获和分析网络数据包

tcpdump 是一个强大的数据包捕获工具,用于分析网络流量。

基本用法

tcpdump [选项]

常用选项

  • -i 接口:指定捕获的网络接口。
  • -w 文件:保存数据包到文件。
  • 过滤表达式:指定捕获条件。

示例

  • 捕获所有流量:tcpdump -i eth0
  • 捕获HTTP流量:tcpdump -i eth0 port 80

高级用法

  • 保存数据包:tcpdump -i eth0 -w capture.pcap
  • 读取数据包:tcpdump -r capture.pcap

注意事项

  • 需要root权限运行。
  • 需安装 tcpdump 包。

相关推荐

Linux 5.17网络子系统方面的变化相当令人兴奋

正在开发的5.17内核的Linux网络子系统的更新是相当令人兴奋的,因为Linux在云中的大型服务器和企业网络设备上的运行以及小型物联网硬件上的Linux都是如此多产。新版不仅像往常一样有大量的硬件驱...

12 个流行的 Linux 网络命令及其使用方法

在Linux系统中,网络管理是系统管理员和开发者的核心技能之一。无论是排查网络问题、监控流量,还是配置网络接口,Linux提供了众多强大的命令行工具。这些工具功能强大且灵活,能够帮助用户高效地完成网络...

Linux集群自动化监控系统Zabbix集群搭建到实战

自动化监控系统Cacti特点:将监控到的数据,绘制成各种图形基于SNMP协议(网络管理协议)的监控软件,强大的绘图能力Nagios特点:状态检查和报警机制(例如:内存不足或CPU负载高时,及时的...

Linux超简单入门开箱篇(linux怎么入门)

此篇文章主要会带你介绍Linux操作系统,包括Linux本身、Linux如何使用、以及系统调用和Linux是如何工作的。Linux简介UNIX是一个交互式系统,用于同时处理多进程和多...

新手教程,Linux系统下MySQL的安装

看了两三个教程。终于在哔哩哔哩找到一个简单高效的教程,成功安装,up主名叫bili逍遥bili,感兴趣可以去看看。下面这个是我总结的安装方法环境:CentOS764位1.下载安装包,个人觉得在...

Windows 11 + WSL2 打造轻量级 Linux 本地开发环境实战教程

一、前言在2025年,越来越多开发者希望在不安装双系统的前提下体验Linux开发的强大能力,而微软的WSL2(WindowsSubsystemforLinux2)正好提供了这一可能。...

linux系统奔溃之vmcore:kdump 的亲密战友 crash

转自https://blog.csdn.net/yuanfang_way/article/details/77987399crash是目前广泛使用的linux内核崩溃转储文件的分析工具,掌握c...

音视频开发为什么要学SRS流媒体服务器

1SRS是什么官方定义:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。2SRS能够解决什么...

77% 的 Linux 运维都不懂的内核问题,这篇全告诉你了

前言之前在实习时,听了OOM的分享之后,就对Linux内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后,今...

Linux 上利用Nginx代理uWSGI处理Flask web应用

一、介绍最近开发要用一个测试环境,是这样的Nginx+uwsgi+flask的一个结构。下面是一些记录,在Centos系统上使用Flask架构部署一个简单的Python应用。然后使用Nginx作...

C++ TinyWebserver 部署到Linux下,并运行

C++TinyWebserver部署到Linux下,并运行(使用的是Vmware的虚拟机运行Ubuntu20.04)环境:Vmware+Ubuntu20.041.Tinywebserver项目...

SUSE Linux方案已在Amazon Web Services发布

近日,SUSE宣布已在亚马逊云服务(AWS)上发布SUSELinuxEnterpriseServerforSAPApplications。通过SUSE的“bring-your-own-s...

遨游于Linux的“老鸟想要一份学习pdf:鸟哥的Linux私房菜学习篇

您是准备学习Linux的“小菜鸟”,却不知道该如何下手?您是遨游于Linux的“老鸟想要一本案头必备的工具书?《鸟哥的Linux私房菜基础学习篇(第四版)》是您绝佳的选择!全新改版,提供您更新的技术...

Mdserver-web|一款简单Linux面板服务

可以说是宝塔面板的精简版,界面很相似,只是更加简洁些,没有那么臃肿官网:https://www.midoks.icu/项目开源地址:https://github.com/midoks/mdserver...

国内外比较知名常见的6个可视化WEB管理面板

Linux服务器的管理对于新手用户来说是一个挺头疼的问题,由于用作服务器的Linux主机通常都没有图形化界面(节省资源),与日常使用的Windows有着很大的差别,一些必备组件的安装或更新就...