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

Linux系统常用命令总结笔记8---网络管理和状态查看

ahcoder 2025-03-23 16:59 38 浏览

---ifconfig: linux系统下用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

发行版系统安装方法:

sudo apt-get update;

sudo apt-get install net-tools

参数:

-a: 显示全部接口信息。

-s: 显示摘要信息(类似于 netstat -i)。

add <地址>: 设置网络设备IPv6的ip地址;

del <地址>: 删除网络设备IPv6的IP地址;

up/down: 启动/关闭指定的网络设备;

hw <网络设备类型> <硬件地址>:设置网络设备的类型与硬件地址;

io_addr<I/O地址>:设置网络设备的I/O地址;

irq : 设置网络设备的IRQ;

mtu <字节>: 设置网络设备的MTU;

netmask<子网掩码>:设置网络设备的子网掩码;

tunnel<地址>: 建立IPv4与IPv6之间的隧道通信地址;

-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;

-promisc: 关闭或启动指定网络设备的promiscuous模式;

IP地址: 指定网络设备的IP地址;

网络设备: 指定网络设备的名称。

-arp: 设置指定网卡是否支持ARP协议

例子:

ifconfig ##显示当前激活的设备信息

ifconfig -a ##显示所有的设备信息(包括没有激活网络设备);

ifconfig eth0 up/down ##启用/停止指定的网络设备eth0;

##为eth0配置静态IP地址,指定子网掩码,加上广播地址;

ifconfig eth0 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255

##为网卡配置和删除IPv6地址

ifconfig eth0 add 33ffe:3240:800:1005::2/64

ifconfig eth0 del 33ffe:3240:800:1005::2/64

##用ifconfig修改MAC地址

ifconfig eth0 down # 关闭网卡

ifconfig eth0 hw ether 11:AA:BB:CC:DD:EE #修改MAC地址

ifconfig eth0 up #启动网卡

##启用和关闭ARP协议

ifconfig eth0 arp #启用arp功能

ifconfig eth0 -arp #关闭arp功能 (慎用!!会断开远程网络连接)

##设置最大传输单元

ifconfig eth0 mtu 1500

---route:对内核的IP选路表进行操作

参数:

-c: 显示更多信息

-n: 不解析名字

-v: 显示详细的处理信息

-F: 显示发送信息

-C: 显示路由缓存

-f: 清除所有网关入口的路由表。

-p: 与 add 命令一起使用时使路由具有永久性。

add: 添加一条路由规则

del: 删除一条路由规则

-net: 目的地址是一个网络

-host: 目的地址是一个主机

target: 目的网络或主机

netmask: 目的地址的网络掩码

gw: 路由数据包通过的网关

dev:为路由指定的网络接口

metric:设置路由跳数。


例子:

##显示当前的路由信息

route

##不解析名字,列出速度会比route快

route -n

##添加到主机的路由

route add -host 10.20.30.148 gw 10.20.30.40

###添加10.20.30.48的网络路由

route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

##添加默认网关

route add default gw 192.168.0.1

##删除默认网关

route del default gw 192.168.0.1

##删除主机路由

route del -host 10.20.30.148 gw 10.20.30.40


##删除网络路由

route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

##屏蔽一条网络路由240.0.0.0

route add -net 224.0.0.0 netmask 240.0.0.0 reject

##所有去往192.168.0.2主机的数据包发往网关地址

route add -host 192.168.0.2 gw 192.168.0.1

说明:

1)显示结果中Flags为路由标志,标记当前网络节点状态:

U-- Up表示此路由当前为启动状态

H-- Host,表示此网关为一主机

G-- Gateway,表示此网关为一路由器

R-- Reinstate Route,使用动态路由重新初始化的路由

D-- Dynamically,此路由是动态性地写入

M-- Modified,此路由是由路由守护程序或导向器动态修改

!-- 表示此路由当前为关闭状态

2)主机路由, 网络路由和默认路由的区别:

--三者都属于静态路由,本质上都是一样的,只是精细程度不一样。

--主机路由,软路由,把一台主机当做路由。仅仅只能表示一台,所以子网掩码要用255.255.255.255

--默认路由,网络路由,都是代表的一个网络。网络路由是指的某一个网络的。

但默认路由指向一个公共的,优先级最低,所有路由都找不到自己的路由线路时,就都才会走默认路由。

---arp: 地址解析协议。用来管理系统的arp缓冲区,可以显示、删除、添加静态mac地址。

说明:

网络设备都有一个ARP缓存,其作用是用来存放IP地址和MAC地址的映射关系。

在发送数据前,设备会先查找ARP缓存表。

--如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去;

--如果不存在MAC信息,刚通过发送arp request报文来查询,从而建立映射表;

--ARP表分为动态和静态表。动态ARP表自动生成和维护,有一定的生命周期,被老化;静态ARP手动配置和维护,不会被老化,一直存在,使用arp命令来配置;

参数:

-a:显示arp缓冲区的所有条目;

-H:指定arp指令使用的地址类型;

-d:从arp缓冲区中删除指定主机的arp条目;

-D:使用指定接口的硬件地址;

-e:以Linux的显示风格显示arp缓冲区中的条目;

-i:指定要操作arp缓冲区的网络接口;

-s:设置指定的主机的IP地址与MAC地址的静态映射;

-n:以数字方式显示arp缓冲区中的条目;

-v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息;

-f<文件>:设置主机的IP地址与MAC地址的静态映射。

例子:

##查看arp缓存

arp -nv

## 在网络设备eth0上添加一条arp缓存条目

arp -i eth0 -s 192.168.0.100 00:11:22:33:44:55

##删除一条arp缓存条目

arp -d 192.168.0.100

##指定回复的MAC地址,当eth0收到IP地址为192.168.0.100的请求时,用eth1的MAC地址应答

arp -i eth0 -Ds 192.168.0.100 eth1 pub

---arping:用于发送arp请求报文,解析并获取目标地址的MAC。

说明:默认将先发送广播报文,收到回复后再发送单播报文,局域网内所有主机都能收到

广播报文,但只有目标主机才会回复自己的MAC地址。

参数:

-f: 收到第一个reply就立即退出

-q: 安静模式,什么都不输出

-b: 只发送广播,不发送单播

-D: 地址冲突检测

-U: 主动更新邻居的arp缓存(Unsolicited ARP mode)

-c count : 发送多少个arp请求包后退出

-w timeout : 等待reply的超时时间

-I device : 发送请求包的网络接口。

-s source : 指定arp请求报文中源地址,如果源地址和指定地址不一样,则目标主机会缓存指定的MAC地址,而不是源地址;

-i : 指定数据包之间的间隔(以秒为单位)。

例子:

##向指定的IP发送ARP请求。

arping -I eth0 192.168.1.100

##请求解析192.168.1.100主机的MAC地址,只发一次arp请求;

sudo arping -c 1 -I eth0 192.168.1.100

##测试 IP 是否被占用

arping -I eth0 -w 3 -D 192.168.1.100

##指定发送一个请求报文给192.168.1.100就退出,发送报文的接口为eth1,

并指定请求报文是从本机的源地址192.168.1.200发出;

(简单的arp欺骗操作)

arping -c 1 -I eth1 -s 192.168.1.200 192.168.1.100

##发送4个探测报文,检测对方192.168.1.100是否存活,在线

arping -c 4 -I eth0 192.168.1.100

##向目标主机发送3次(指定次数)ARP 请求报文,安静模式。

arping -I eth0 -q -c 3 192.168.1.100

---netstat: linux系统下用于显示网络状态。

参数:

-a: 显示所有连线中的Socket。

-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。

-c: 持续列出网络状态,每隔一个固定时间,执行该netstat命令。

-C: 显示路由器配置的快取信息。

-e: 显示网络其他相关信息。

-F: 显示路由缓存。

-g: 显示多重广播功能群组组员名单。

-i: 显示网络设备接口信息列表。

-l:显示监听中的服务器的Socket。

-n: 直接使用IP地址,而不通过域名服务器。

-o:显示计时器。

-p:显示正在使用Socket的进程号和进程名。

-r:显示Routing Table。

-s:网络统计信息,按协议分类进行统计。

-t或--tcp: 显示TCP传输协议的连接情况。

-u或--udp: 显示UDP传输协议的连接情况。

-v: 显示指令详细执行过程。

-V:显示版本信息。

-w:显示RAW传输协议的连接情况。

例子:

##多屏显示详细的网络状况

netstat -a | more

##显示当前TCP连接状况

netstat -nt

##显示当前UDP连接状况

netstat -nu


##显示UDP端口号的使用情况

netstat -apu

##显示网卡列表

netstat -i

##按协议分类显示网络统计信息

netstat -s

##显示监听的套接口

netstat -l

##只列出所有监听tcp端口

netstat -lt

##显示核心路由信息

netstat -r

## 找出ssh程序运行的端口

netstat -ap | grep ssh

## TCP连接的各种状态列表

netstat -nat |awk '{print $6}'

##统计tcp连接监听的数量

netstat -ant | wc -l

##查看连接某服务端口443最多的的IP地址(前10个)

netstat -nat | grep "192.168.0.100:443" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -10

---host: host命令用于查看或设置系统的主机名。原理是一个用于执行DNS查找的简单实用程序。 它通常用于将名称转换为IP地址,反之亦然。

参数:

-a:显示详细的DNS信息

-c:指定查询类型,默认值为“IN”

-C:查询指定主机的完整的SOA记录

-r:不使用递归的查询方式查询域名

-t:指定查询的域名信息类型

-v:显示指令执行的详细信息

-w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答

-W:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出

-4:使用IPv4查询传输 (默认)

-6:使用IPv6查询传输

例子:

##看当前主机名

hostname


##设置主机名:

hostname myhostname


##永久设置主机名(需要修改/etc/hostname文件):

echo "myhostname" > /etc/hostname

##添加DNS信息;

echo "192.168.0.100 myhostname" >> /etc/hosts

##显示执行域名查询的详细信息:

host -v www .http://example.com


##查询域名的MX信息:

host -t MX www .http://example.com

---ping: 此命令的功能是用于测试主机间网络连通性,通过发送出基于ICMP传输协议的数据包, 要求对方主机予以回复。

安装方法:

sudo apt-get install iputils-ping

参数(功能强大):

-d: 使用Socket的SO_DEBUG功能

-c: 指定发送报文的次数

-i: 指定收发信息的间隔时间(单位为秒,最小值是200ms,即0.2S)

-I: 使用指定的网络接口送出数据包

-l: 设置在等待回复时发送指定数量的数据包

-n: 不进行DNS名称解析。

-p: 设置填满数据包的范本样式

-q: 不显示指令执行过程

-R: 记录路由过程

-s: 设置数据包的大小

-S <大小>:使用 <大小> 作为SO_SNDBUF套接字选项的值

-t: 设置存活数值TTL的大小

-v: 详细显示指令的执行过程

-B:使用固定源地址

-I:<接口>接口名称或地址

-p:<模式>:填充字节的内容

-w:<截止时间>等待回复的截止时间(秒)

-W: <超时时间>等待响应的时间

-D: 打印时间戳。在每个ping回复中打印时间戳。

-4: 使用IPv4

-6:使用IPv6

-b: 允许ping广播

-R: 记录路由

-T: <时间戳> 定义时间戳,可以是之一

-L:禁止回送多播数据包。不将多播数据包回送到本地回环接口

例子:

##每隔0.2秒ping一次,一共ping 5次

ping -c 5 -i 0.2 www .http://example.com

##使用指定源地址,在本机上有多个网络接口进行ping时,指定使用特定的源地址。

ping -B 192.168.0.100 www .http://example.com

## 打印时间戳。在每个ping回复中打印时间戳。

ping -D www .http://example.com

##使用SO_DEBUG套接字选项。启用调试模式,打印更多调试信息

ping -d www .http://example.com

## 洪水式ping。连续发送ping请求,不等待回复。(需要root权限)

sudo ping -f www .http://example.com

##指定要使用的网络接口名称或地址

ping -I eth1 www .http://example.com

##在等待回复时发送指定数量的数据包 (非root权限只能发送2个包)

sudo ping -l 10 www .http://example.com

##标记发送的数据包。可以用于标识特定的数据包流

ping -m 123 192.168.0.100

##不进行DNS名称解析,直接使用IP地址进行ping。

ping -n 192.168.0.100

##填充字节的内容。指定填充数据包的内容(内容必须为16进制数字)。

ping -p ABCD 192.168.0.100

##指定要发送的数据字节数

ping -s 2048 192.168.0.100 (一次发送2048个字节)

ping -s 0 192.168.0.100 (发送空包测试 )

##修改发送缓冲区大小,SO_SNDBUF套接字选项的值

ping -S 8192 -s 2048 192.168.0.100

##强制使用IPv4协议进行ping

ping -4 192.168.0.100

##允许向广播地址发送ping请求。

ping -b 192.168.0.255

##在ping请求中记录数据包的路由路径。

ping -R 192.168.0.100

##定义时间戳的类型,可以是tsonly、tsandaddr或tsprespec之一

ping -T tsandaddr 192.168.0.100

---telnet: 用于登录远程主机,对远程主机进行管理,安全性不好,现在基本使用ssh替代;

安装说明:

--server端:sudo apt-get install telnetd

--client端:sudo apt-get install telnet

参数:

-l user:在连接时,用指定的用户名称进行登录。

-b host:在多网卡主机上,使用指定的主机地址作为源地址。

-d:启用调试模式,用于排查问题。

例子:

##远程登录指定主机+端口

telnet 192.168.0.100 23

---wget:Linux系统下用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议;

参数(功能强大,以下为部分参数):

-O: 指定下载的文件名。

-c: 断点续传,即从上次下载中断的地方继续下载。

-b: 后台下载。

-v: 下载时显示详细输出

-q: 静默模式,不输出下载信息。

-t: 重试下载次数。

-T: 下载超时时间。

-U: User-Agent字符串,用于伪装浏览器或其他客户端身份。

-P: 下载到指定目录。

-r: 递归下载,即下载指定URL中所有链接指向的文件。

-np: 不进入上级目录。

-nd: 不创建目录结构。

-nc: 不覆盖已存在的文件,即遇到同名文件不进行下载。

-i: 从文件中读取URL列表进行下载。

-x: 建立基于时间戳的目录结构。

-S: 显示服务器返回的HTTP头信息。

例子:

##后台下载多个URL链接:

wget URL1 URL2 URL3 -b

##下载文件时,指定下载文件的文件名

wget -O readme.txt https://www.example/aaa.txt;

##限速下载文件

wget --limit-rate=200k URL1

##下载文件到指定目录,且不显示下载进度条信息;

wget -P /data/ --no-verbose https://www.example/aaa.avi

##使用 -c 选项开启断点续传功能

wget -c https://www.example/aaa.avi;

##使用 -i 选项下载多个文件,这多个文件链接地址放在一个文件中;

vim download_list.txt #每个url单独一行;

wget -i download_list.txt

##使用 --tries或-t 选项增加重试次数

wget -t=40 https://www.example/aaa.avi


##使用FTP下载指定用户名和密码的格式:

wget --ftp-user= --ftp-password= https://www.example/aaa.avi

##使用wget –reject过滤指定格式下载

wget –reject=gif 百度一下,你就知道www .http://example.com ##去掉gif格式

##使用wget -o把下载信息存入日志文件

wget -o download.log www .http://example.com 百度一下,你就知道

##使用wget -r -A下载指定格式文件,下载网站上所有PDF文件

wget -r -A.pdf url

##利用代理服务器进行下载

需要在当前用户的目录下创建一个.wgetrc文件。

1)文件中可以设置代理服务器

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

2)设置代理服务器用户名和密码

–proxy-user=USER设置代理用户

–proxy-passwd=PASS设置代理密码

3)密码和认证:

–http-user=USER设置HTTP用户

–http-passwd=PASS设置HTTP密码

4)使用或者关闭代理

–proxy=on/off

---traceroute: 会显示出本机与其他服务器之间的全部路由。

既可以有助于准确判断故障位置, 也可以通过显示的时间、IP等信息了解数据的流向。

工具安装:

sudo apt-get install traceroute

参数:

-d:使用Socket层级的排错功能。

-f:设置第一个检测数据包的存活数值TTL的大小。

-F:设置勿离断位。

-g:设置来源路由网关,最多可设置8个。

-i: 使用指定的网络界面送出数据包。

-I: 使用ICMP回应取代UDP信息。

-T:使用TCP包回应取代UDP信息

-m: 设置检测数据包的最大存活数值TTL的大小。

-n: 直接使用IP地址而非主机名称。

-p: 设置UDP传输协议的通信端口。

-r: 忽略普通的Routing Table,直接将数据包送到远端主机上。

-s: 设置本地主机送出数据包的IP地址。

-t: 设置检测数据包的TOS数值。

-v: 详细显示指令的执行过程。

-w: 设置等待远端主机回报的时间。

-x: 开启或关闭数据包的正确性检验。

-q: 设置每个 TTL 值收到的回复数量。

-z: 可以指定每次发送数据包之间的延迟时间

例子:

##查看指定URL的路由信息

traceroute www .http://example.com

##跳数设置,指定TTL值

traceroute -m 10 www .http://example.com

##显示IP地址,不查主机名

traceroute -n www .http://example.com

##探测包使用的基本UDP端口设置8888 (默认是发送UDP包)

traceroute -p 8888 www .http://example.com

##把探测包的个数设置为值4,等待响应时间设置为3秒,最大TTL为5

traceroute -I -m 5 -q 4 -w 3 www .http://example.com

##可以指定traceroute命令使用ICMP数据包

traceroute -I www .http://example.com

(更新待续,感谢关注......)

相关推荐

Java程序员必备的Linux命令速查表

Java程序员必备的Linux命令速查表在Java开发的世界里,Linux就像一位默默支持的幕后英雄。作为一名Java开发者,掌握一些基本的Linux命令,不仅能提高工作效率,还能让你在团队中显得格外...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux磁盘管理相关命令(linux磁盘管理常用命令)

磁盘的使用情况会直接影响系统的性能,因此我们经常会用到以下命令,主要围绕:fdisk:磁盘分区df:文件系统的磁盘空间占用情况du:文件目录的磁盘空间占用情况查看磁盘关系lsblk查看磁盘分区情况fd...

第四章 Linux常用shell命令-4.5.磁盘管理

主要介绍一下跟磁盘管理相关命令,有比较多的内容摘抄自网络,如有侵权,请及时联系我删除:显示目前在Linux系统上的文件系统磁盘使用情况统计:df创建和维护分区表的程序:fdisk将磁盘分区或镜像挂...

Linux新手必备:20个高效命令轻松掌握!

Linux基本命令使用指南在现代计算机操作系统中,Linux因其开放性、灵活性和强大的功能,广泛应用于服务器和开发环境中。作为技术人员,掌握Linux的基本命令是非常重要的。在本文中,我们将重点介绍2...

每日必学Linux命令:ls命令(linux命令详解之ls命令)

ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件...

Linux系统dev和proc目录详解(linux dev/sr0)

简介:Linux系统里的/dev和/proc目录那可是相当重要的系统文件。在Linux系统中,/dev目录专门用来存放设备文件。不光有设备文件,系统里还有好多特殊功能也是通过设备的形式...

Linux切换目录之cd命令(linux切换指定目录)

1.基本概念1.1命令作用当我们在Linux系统上工作时,做得相当多的一项任务就是在不同的目录之间进行切换,这时就需要用到cd命令了。cd是"changedirectory"的首...

Linux切换目录(cd命令)(linux如何切换到目录)

cd命令,是ChangeDirectory的缩写,用来切换工作目录。Linux命令按照来源方式,可分为两种,分别是Shell内置命令和外部命令。所谓Shell内置命令,就是Shel...

MongoDB数据库的快速部署和启动(mongodb的使用教程)

一、Mongodb介绍常见数据库介绍关系数据库RDBMS设计表结构,通过SQL语句进行操作。连表关系常见的关系型数据库:mysqloracle(商业)DB2(IBM)sqlserver(微软...

5分钟学会网络服务搭建,飞凌i.MX9352 + Linux 6.1实战示例

在“万物互联”的技术浪潮下,网络服务已成为连接物理世界与数字世界的核心纽带,它不仅赋予了终端设备“开口说话”的能力,更构建了智能设备的开发范式。本文就将以飞凌嵌入式OK-MX9352-C开发板(搭载了...

centos安装geoserver并配置开机启动

前提条件:服务器已经安装了java环境一、下载下载地址:http://geoserver.org/release/maintain/下载后文件名为:geoserver-2.19.3-bin.zip二、...

开机启动流程(开机流程图)

grubandbootCentos5,6的开机启动流程grubCentos7的开机启动流程Centos5,6的开机启动流程initrd/initramfs一般存储在/boot目录下,以.img...

Linux cron服务概述(crontab服务)

cron是Linux/Unix系统中一个非常重要的后台服务(守护进程),用于在预定的时间间隔自动执行命令或脚本。它使得自动化重复性任务成为可能,例如日志清理、数据备份、系统维护等。1.cron...

CentOS 8利用rc.local进行开机自启动的配置

CentOS8利用rc.local进行开机自启动的配置CentOS8linux系统是不建议使用rc.local进行开机自启动的,建议创建systemdservice。我们为了方便以后多一个配置...