0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解Linux网络管理中的关键命令

马哥Linux运维 ? 来源:CSDN技术社区 ? 2025-07-04 11:37 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文档概述了网络管理中的关键命令,如ifconfig配置网络接口,ip管理路由,ping测试连通性,以及nmap进行安全扫描。还介绍了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入应用。

前言

#网络配置查看
ifconfig
ip a
#测试网络连通性
ping
#显示正确的路由表
ip route
#跟踪路由
traceroute
tracepath
mtr
#确定名称服务器使用
nslookup
host
dig
#抓包工具
tcpdump
wireshark
#安全扫描工具
nmap
netcat :网络界的瑞士军刀,即 nc
#流量控制工具
tc
#查看或修改网卡配置
mii-tool
ethtool
modprobe
dmesg
rmmod
......

网络管理命令有很多,下面会介绍一些比较常用的。

1. ifconfig

ifconfig命令用于显示或设置网络设备,来源于 net-tools 工具包
格式:

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明:

add<地址> 设置网络设备IPv6的IP地址
del<地址> 删除网络设备IPv6的IP地址
down 关闭指定的网络设备
<硬件地址> 设置网络设备的类型与硬件地址
io_addr 设置网络设备的I/O地址
irq 设置网络设备的IRQ
media<网络媒介类型> 设置网络设备的媒介类型
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目
mtu<字节> 设置网络设备的MTU
netmask<子网掩码> 设置网络设备的子网掩码
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址
up 启动指定的网络设备
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能
-promisc 关闭或启动指定网络设备的promiscuous模式
[IP地址] 指定网络设备的IP地址
[网络设备] 指定网络设备的名称

示例:

#显示网络设备信息
ifconfig 
#启动关闭指定网卡
ifconfig eth0 down/up  等于  ifdown/ifup eth0
#设置最大传输单元
ifconfig eth0 mtu 1500
#临时修改 IP
ifconfig ens33 192.168.10.20/24
#建立虚拟网卡(网卡别名),流量走主网卡
ifconfig ens33:0 192.168.10.21
ifconfig ens33:1 192.168.10.22
#单独显示某网卡
ifconfig eth0

2. ip

ip 命令和 ifconfig 类似,但前者功能更强大,并旨在取代后者。使用 ip 命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig 是 net-tools 中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2 套件里提供了许多增强功能的命令,ip 命令即是其中之一。 7d9672ae-54e8-11f0-b715-92fbcf53809c.png在这里插入图片描述
示例:

#显示网卡设备信息
ip a  或者  ip addr show
#查看链路层的状态,但是看不到 ip 地址
iplink
ip -slink #显示更全面,显示不同网络接口的统计数据
#查看接入你所在的局域网的设备的 MAC 地址
ip neighbour
#开启/关闭 eth0
iplinkseteth0 up/down
#临时修改网卡名称
iplinkseteth1 name syhjnet
#设置网卡别名(虚拟网卡)
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
#给 eth0 添加 IP 地址
ip addr add 20.0.0.19/24 dev eth0
#删除 eth0 网卡上的 IP
ip addr del 20.0.0.19/24 dev eth0
ip addr flush dev eth0
#设置 eth0 默认网关为 192.168.0.2
ip route add default via 20.0.0.2 dev eth0
#查看路由表条目
ip route show
#查看具体 IP 路由包从哪里来
ip route get 20.0.0.19
#更改默认路由
ip route add default via 20.0.0.196
#监控 netlink 消息
ip monitor all

参考:试试 Linux 下的 ip 命令

3. ping

Linux ping 命令用于检测主机,执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
格式:

ping [参数选项] [主机名或IP地址]

参数 含义
-c 设置完成要求回应的次数
-i 指定收发信息的间隔时间
-s 设置数据包的大小
-w 在设定的秒后退出

示例:

[root@c7-1 ~]#ping -c 5 www.baidu.com
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=128time=25.0 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=128time=25.8 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=3 ttl=128time=25.9 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=4 ttl=128time=24.9 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=5 ttl=128time=25.8 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss,time4039ms
rtt min/avg/max/mdev = 24.938/25.535/25.974/0.448 ms

4. route

route 命令用于显示和操作 IP 路由表。
格式:

route [-nee]
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]

选项说明:

add    添加一条路由规则
del    删除一条路由规则
-net  目的地址是一个网络
-host  目的地址是一个主机
target  目的网络或主机
netmask  目的地址的网络掩码
gw    路由数据包通过的网关
dev    为路由指定的网络接口

??要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器或者同时位于两个网络的网关。在 Linux 系统中,设置路由通常是为了解决以下问题:该 Linux 系统在一个局域网中,局域网中有一个网关,能够让机器访问 internet,那么就需要将这台机器的 IP 地址设置为 Linux 机器的默认路由。要注意的是,直接在命令行下执行 route 命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。要想永久保存,有如下方法:

1.在 /etc/rc.local 里添加
2.在 /etc/sysconfig/network 里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y

route 命令的输出项说明:

Destination  目标网段或者主机
Gateway    网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask    网络掩码
Flags    标记。一些可能的标记如下:
      U — 路由是活动的
      H — 目标是一个主机
      G — 路由指向网关
      R — 恢复动态路由产生的表项
      D — 由路由的后台程序动态地安装
      M — 由路由的后台程序修改
      ! — 拒绝路由
Metric  路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref    路由项引用次数(linux 内核中没有使用)
Use    此路由项被路由软件查找的次数
Iface  该路由表项对应的输出接口

示例:

[root@c7-1 ~]#route -nee
Kernel IP routing table
Destination   Gateway     Genmask     Flags Metric Ref  Use Iface  MSS  Window irtt
0.0.0.0     20.0.0.2    0.0.0.0     UG  100  0    0 eth0   0   0   0
20.0.0.0    0.0.0.0     255.255.255.0  U   100  0    0 eth0   0   0   0

#路由主要有三种:主机路由,网络路由,默认路由
#添加到主机的路由,目标 192.168.1.3 网关 172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
#添加到网络的路由,目标 192.168.0.0 网关 172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 192.168.8.0/24 dev eth1 metric 200
#添加默认路由,网关 172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add -net 0.0.0.0/0 gw 172.16.0.1
route add default gw 172.16.0.1
#删除路由
route del -host 192.168.1.2 dev eth0:0 
route del -host 10.20.30.148 gw 10.20.30.40 
route del -net 10.20.30.40 netmask 255.255.255.248 eth0 
route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 
route del -net 192.168.1.0/24 eth1 
route del default gw 192.168.1.1 

5. lsof

lsof(list open files)是一个查看进程打开的文件的工具
选项:

-a:列出打开文件存在的进程
-c<进程名>:列出指定进程所打开的文件
-u:列出 UID 号进程详情
-g:列出 GID 号进程详情
-d<文件号>:列出占用该文件号的进程
+d<目录>:列出目录下被打开的文件
+D<目录>:递归列出目录下被打开的文件
-n<目录>:列出使用 NFS 的文件
-i<条件>:列出符合条件的进程( IPV(4/6)协议  :端口  @ip )
-p<进程号>:列出指定进程号所打开的文件
-n: 不反向解析网络名字

具体示例参考:Linux 进程和计划任务管理

6. netstat

netstat 用来查看当前操作系统的网络连接状态、路由表、接口统计等信息,来自于 net-tools 工具包,ss 是 netstat 的升级版。

参数 含义
-a 显示主机中所有活动的网络连接信息 (包括监听、非监听状态的服务端口)
-n 以数字的形式显示相关的主机地址、端口等信息
-p 显示与网络连接相关联的进程号、进程名称信息 (该选项需要 root 权限)
-l 显示处于监听 (Listen) 状态的网络连接及端口信息
-t 查看 TCP (Transmission Control Protocol,传输控制协议) 相关的信息
-u 显示 UDP (User Datagram Protocol,用户数据报协议) 协议相关的信息
-r 显示路由表信息
-i 显示网卡列表
-g 显示组播组的关系
-s 显示网络统计信息

常用命令选项:

netstat [-anpt] [-anpu] [-anptu] [-anpltu] [-ntlp]

示例:

[root@c7-1 ~]#netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name  
tcp    0   0 127.0.0.1:25      0.0.0.0:*        LISTEN   3631/master    
tcp    0   0 0.0.0.0:22       0.0.0.0:*        LISTEN   3421/sshd     
tcp    0   0 20.0.0.19:22      20.0.0.1:64385     ESTABLISHED 20165/sshd: root@pt
tcp    0   52 20.0.0.19:22      20.0.0.1:60938     ESTABLISHED 30806/sshd: root@pt
tcp6    0   0 :25         :::*          LISTEN   3631/master    
tcp6    0   0 :::22          :::*          LISTEN   3421/sshd     
[root@c7-1 ~]#netstat -anpt | grep sshd
tcp    0   0 0.0.0.0:22       0.0.0.0:*        LISTEN   3421/sshd     
tcp    0   0 20.0.0.19:22      20.0.0.1:64385     ESTABLISHED 20165/sshd: root@pt
tcp    0   52 20.0.0.19:22      20.0.0.1:60938     ESTABLISHED 30806/sshd: root@pt
tcp6    0   0 :::22          :::*          LISTEN   3421/sshd     

7. ss

ss 命令来自于 iproute 包,是 netstat 的升级版本。netstat 通过遍历 /proc 来获取 socket 信息,ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息。
格式:

ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock 相关
-l: listen 状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及 PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息

示例:

#显示本地打开的所有端口
ss -l
#列出当前 socket 详细信息
ss -s
#显示每个进程具体打开的 socket
ss -pl
#显示所有 tcp socket
ss -at
#显示所有的 udp socket
ss -au
#显示所有已建立的 ssh 连接
ss -o state established'( dport = :ssh or sport = :ssh )'
#显示所有已建立的HTTP连接
ss -o state established'( dport = :http or sport = :http )'

8. traceroute

traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各个中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为 “*”,预设数据包大小是 40Bytes,用户可另行设置。如果没有 traceroute 命令可执行 yum -y install traceroute 安装。

格式:

traceroute [参数] [主机|IP]

参数:

-d 使用 Socket 层级的排错功能
-f 设置第一个检测数据包的存活数值 TTL 的大小
-F 设置勿离断位
-g 设置来源路由网关,最多可设置 8 个
-i 使用指定的网络界面送出数据包
-I 使用 ICMP 回应取代 UDP 资料信息
-m 设置检测数据包的最大存活数值 TTL 的大小
-n 直接使用 IP 地址而非主机名称
-p 设置 UDP 传输协议的通信端口
-r 忽略普通的 Routing Table,直接将数据包送到远端主机上
-s 设置本地主机送出数据包的 IP 地址
-t 设置检测数据包的 TOS 数值
-v 详细显示指令的执行过程
-w 设置等待远端主机回报的时间
-x 开启或关闭数据包的正确性检验

示例:

[root@c7-1 ~]#traceroute 20.0.0.25
traceroute to 20.0.0.25 (20.0.0.25), 30 hops max, 60 byte packets
1 20.0.0.25 (20.0.0.25) 0.942 ms 0.782 ms 0.647 ms
#可以看到这两台机器之间没有经过路由,是直连或连着交换机的状态

[root@c7-1 ~]#traceroute www.baidu.com
traceroute to www.baidu.com (112.80.248.75), 30 hops max, 60 byte packets
1 gateway (20.0.0.2) 5.900 ms 5.817 ms 5.758 ms
2 * * *
3 * * *
4 * * *
......

9. nslookup

域名解析工具,执行 yum -y install bind-utils 安装。
格式:

`nslookup 域名`

示例:

[root@c7-1 ~]#nslookup www.baidu.com
Server:    20.0.0.2
Address:  20.0.0.2#53

Non-authoritative answer:
www.baidu.com  canonical name = www.a.shifen.com.
Name:  www.a.shifen.com
Address: 112.80.248.75
Name:  www.a.shifen.com
Address: 112.80.248.76

[root@c7-1 ~]#nslookup www.google.com
Server:    20.0.0.2
Address:  20.0.0.2#53

Non-authoritative answer:
Name:  www.google.com
Address: 104.244.46.208
Name:  www.google.com
Address: 2001:5211

[root@c7-1 ~]#cat/etc/resolv.conf  #域名解析配置文件
# Generated by NetworkManager
# 一行一个 DNS,最多配置三个 DNS,优先使用第一个 DNS 服务器
nameserver 20.0.0.2

[root@c7-1 ~]#cat/etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
::1     localhost localhost.localdomain localhost6 localhost6.localdomain6
112.80.248.75 www.baidu.com
#/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。

10. dig

也是解析域名,同样来自 bind-utils 包。
格式:

`dig 域名`

示例:

[root@c7-1 ~]#dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<-?opcode: QUERY, status: NOERROR, id: 46750
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 1280
;; QUESTION SECTION:
;www.baidu.com. ? ? ? ? ? ?IN ? ?A

;; ANSWER SECTION:
www.baidu.com. ? ? ? ?5 ? ?IN ? ?CNAME ? ?www.a.shifen.com.
www.a.shifen.com. ? ?5 ? ?IN ? ?A ? ?112.80.248.75
www.a.shifen.com. ? ?5 ? ?IN ? ?A ? ?112.80.248.76

;; Query time: 2 msec
;; SERVER: 20.0.0.2#53(20.0.0.2)
;; WHEN: 三 8月 25 1653 CST 2021
;; MSG SIZE ?rcvd: 104

11. nmcli

nmcli 命令可以完成网卡上所有的配置工作,并且可以写入配置文件永久生效。centos7 默认安装,没有执行 yum -y install NetworkManager。
nmcli 命令相关术语:

- 设备即网络接口
- 连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效

格式:

nmcli [OPTIONS] OBJECT { COMMAND |help}

选项:

-a  询问缺少的参数
-c 是否在输出中使用颜色 
-e 转义值中的列分隔符
-f 指定要输出的字段
-g -m tabular -t -f 的快捷方式
-m 输出模式
-o 概览模式
-p 更加友好的输出方式
-s 允许显示密码
-t 简洁输出
-v 显示程序版本
-w 设置等待完成操作的超时

对象:

g[eneral]    NetworkManager 的一般状态和操作
n[etworking]  整体网络控制
r[adio]     NetworkManager 无线电开关
c[onnection]  NetworkManager 的连接
d[evice]    由 NetworkManager 管理的设备
a[gent]     NetworkManager 秘密代理或 polkit 代理
m[onitor]    监控 NetworkManager 的变化

示例:

#查看帮助
nmcli con addhelp
#显示连接信息
nmcli con show
#显示活动连接
nmcli con show --active
#显示具体的网络连接配置
nmcli con show eth0
#显示设备状态
nmcli dev status
#显示网络接口属性
nmcli dev show eth0
#创建新连接 default,IP 通过 dhcp 自动获取
nmcli con add con-name defaulttypeEthernet ifname eth0
#删除 default 连接
nmcli con del default
#创建新连接 static ,指定静态 IP,不自动连接
nmcti con add con-name static  ifname eth0 autoconnect notypeEthernet
ipv4.addresses 172.25.X.10/24 ipv4.gateway  172.25.X.254
#启用 static 连接配置
nmcli con up static
#启用 default 连接配置
nmcli con up default
#修改连接设置
nmcli con mod"static"connection.autoconnect no
nmcli con mod"static"ipv4.dns 172.25.X.254
nmcli con mod"static" +ipv4.dns 8.8.8.8
nmcli con mod"static" -ipv4.dns 8.8.8.8
nmcli con mod"static"ipv4.addresses “172.16.X.10/24 172.16.X.254”
nmcli con mod"static" +ipv4.addresses 10.10.10.10/16
#DNS设置存放在 /etc/resolv.conf,PEERDNS=no 表示当 IP 通过 dhcp 自动获取时,dns 仍是手动设置,
不自动获取等价于下面命令
nmcli con mod"system eth0"ipv4.ignore-auto-dnsyes

nmcli 实现 bond0:

#添加bonding接口
nmcli con addtypebond con-name mybond0 ifname bond0 mode active-backup
#添加从属接口
nmcli con addtypebond-slave ifname ens37 master bond0
nmcli con addtypebond-slave ifname ens33 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#启动绑定
nmcli con up mybond0

12. tcpdump

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供 and、or、not 等逻辑语句帮助去除无用的信息。
格式:

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

选项:

-a 尝试将网络和广播地址转换成名称
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出
-dd把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出
-e 在每列倾倒资料上显示连接层级的文件头
-f 用数字显示网际网络地址
-F<表达文件> 指定内含表达方式的文件
-i<网络界面> 使用指定的网络截面送出数据包
-l 使用标准输出列的缓冲区
-n 不把主机的网络地址转换成名字
-N 不列出域名
-O 不将数据包编码最佳化
-p 不让网络界面进入混杂模式
-q 快速输出,仅列出少数的传输协议信息
-r<数据包文件> 从指定的文件读取数据包数据
-s<数据包大小> 设置每个数据包的大小
-S 用绝对而非相对数值列出TCP关联数
-t 在每列倾倒资料上不显示时间戳记
-tt 在每列倾倒资料上显示未经格式化的时间戳记
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型
-v 详细显示指令执行过程
-vv 更详细显示指令执行过程
-x 用十六进制字码列出数据包资料
-w<数据包文件> 把数据包数据写入指定的文件

示例:

#不指定任何参数,监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡
tcpdump
#监听特定网卡
tcpdump -i eth0
#限制抓包的数量,抓到 1000 个包后,自动退出
tcpdump -c 1000
#监听特定主机,监听主机 10.0.0.100 的通信包,出、入的包都会被监听
tcpdump host 10.0.0.100
#特定来源
tcpdump src host hostname
#特定目标地址
tcpdump dst host hostname
#如果不指定 src 跟 dst,那么来源或者目标是 hostname 的通信都会被监听
tcpdump host hostname
#特定端口
tcpdump port 3000
#监听 TCP/UDP,服务器上不同服务分别用了 TCP、UDP 作为传输层,假如只想监听 TCP 的数据包
tcpdump tcp
#来源主机+端口+TCP,监听来自主机 10.0.0.100 在端口 22 上的 TCP 数据包
tcpdump tcp port 22 and src host 10.0.0.100
#监听特定主机之间的通信
tcpdump ip host 10.0.0.101 and 10.0.0.102
#10.0.0.101 和除了 10.0.0.1 之外的主机之间的通信
tcpdump ip host 10.0.0.101 and ! 10.0.0.1

#保存到本地,tcpdump 默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者 tcpdump 退出时,才会将输出写到本地磁盘,可以加上 -U 强制立即写到本地磁盘(一般不建议,性能相对较差)
tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap


#详细示例和解释
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
据报的类型
(2)-i eth1 : 只抓经过接口 eth1 的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为 68 字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取 100 个数据包
(6)dst port ! 22 : 不抓取目标端口是 22 的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为 192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用 wireshark 分析

参考:
tcpdump 使用详解
tcpdump命令

13. arp

arp 命令用于操作主机的 arp 缓冲区,可以用来显示 arp 缓冲区中的所有条目、删除指定的条目或者添加静态的 ip 地址与 MAC 地址对应关系。

格式:

arp [-vn] [] [-i ] [-a] []       <-Display ARP cache
arp [-v] ? ? ? ? ?[-i ] -d  [pub]        <-Delete ARP entry
arp [-vnD] [] [-i ] -f []      <-Add entry from file
arp [-v] ? [] [-i ] -s   [temp]      <-Add entry
arp [-v] ? [] [-i ] -Ds   [netmask ] pub     <-''-

参数:

-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 -n  或  ip neigh
#ARP 静态绑定 MAC 地址可以防止 ARP 欺骗
arp -s 10.0.0.6 002980:38
#删除 arp 缓存条目
arp -d 10.0.0.6
#指定回复的 MAC 地址
arp -i eth0 -Ds 10.0.0.2 eth1 pub

kali 系统通过 arp 欺骗实现网络流量劫持

#启动路由转发功能
[root@kali ~]#echo1 > /proc/sys/net/ipv4/ip_forward
#安装包
[root@kali ~]# apt-get install dsniff
#欺骗目标主机,本机是网关
[root@kali ~]# arpspoof -i eth0 -t [被劫持的目标主机IP] [网关IP]
#欺骗网关,本机是目标主机
[root@kali ~]# arpspoof -i eth0 -t [网关IP] [被劫持的目标主机IP]

14. nmap

nmap 是一个强大的端口扫描类安全评测工具,支持 ping 扫描、多端口检测等多种技术。

# nmap 软件包安装
rpm -qa | grep nmap
yum -y install nmap

格式:

nmap [扫描类型] [选项] [扫描目标]

常用参数选项:

-p:指定扫描的端口
-n:禁用反向 DNS 解析(加快扫描速度)
-sS:TCP 的 SYN 扫描(半开扫描),只向目标发出 SYN 数据包,如果收到 SYN/ACK 响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放
-sT:TCP 连接扫描,这是完整的 TCP 扫描方式(默认扫描类型),用来建立一个 TCP 连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放
-sF:TCP 的 FIN 扫描,开放的端口会忽略这种数据包,关闭的端口会回应 RST 数据包。许多防火墙只对 SYN 数据包进行简单过滤,而忽略了其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性
-sU:UDP 扫描,探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢
-sP:ICMP 扫描,类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描
-P0:跳过 ping 检测,这种方式认为所有的目标主机是存活的,当对方不响应 ICMP 请求时,使用这种方式可以避免因无法 ping 通而放弃扫描

TCP 控制位类型:

SYN 建立连接
ACK 确认数据包传输状况
FIN 关闭连接
PSH 推送位
RST 重置
URG 紧急

示例:

#分别查看本机开放的 TCP 端口、UDP 端口
nmap -sT 127.0.0.1
nmap -sU 127.0.0.1
#检测 192.168.80.0/24 网段有哪些主机提供 HTTP 服务
nmap -p 80 192.168.80.0/24
#检测 192.168.80.0/24 网段有哪些存活主机
nmap -n -sP 192.168.80.0/24

链接:https://blog.csdn.net/shenyuanhaojie/article/details/119899419

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11522

    浏览量

    214291
  • 网络管理
    +关注

    关注

    0

    文章

    125

    浏览量

    28443
  • 命令
    +关注

    关注

    5

    文章

    742

    浏览量

    22937

原文标题:紧急!服务器网络故障?这14个Linux命令能救急

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux系统管理命令

    Linux系统管理命令 Linux系统管理命令  wall
    发表于 01-18 12:47 ?900次阅读

    Linux的常用网络命令

    Linux的常用网络命令 Linux 的常用网络命令  计算机
    发表于 01-18 12:47 ?1236次阅读

    Linux关机命令详解

    Linux关机命令详解linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启
    发表于 01-18 12:52 ?3761次阅读

    Linux系统命令及其使用详解 _120页

    电子发烧友网站提供《Linux系统命令及其使用详解 _120页.doc》资料免费下载
    发表于 04-18 13:23 ?3次下载

    Linux网络编程实例详解

    网络通讯教程学习之Linux网络编程实例详解
    发表于 09-01 14:55 ?0次下载

    linux常用命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的
    发表于 11-03 10:19 ?5650次阅读

    Linux命令详解 [兼容模式]pdf免费下载

    linux命令详解pdf,希望对大家有帮助!
    发表于 12-15 15:54 ?10次下载

    Linux系统管理命令整理及使用方法介绍

    linux命令是对Linux系统进行管理命令。对于Linux系统来说,无论是中央处理器、内存、
    的头像 发表于 09-23 14:55 ?7122次阅读

    Linux系统EXP命令详解质量汇总

    Linux系统EXP命令详解质量汇总
    发表于 05-14 09:35 ?1次下载

    Linux虚拟机之tcpdump命令操作详解

    Linux虚拟机之tcpdump命令操作详解
    发表于 08-12 09:50 ?23次下载

    如何使用ip命令Linux中进行网络管理

    Linux,'ip'命令管理网络方面最强大的命令之一。该命令可以允许用
    发表于 05-31 12:25 ?584次阅读

    linuxtop命令详解

    Linux系统的top命令是一个非常强大和常用的命令,用于实时监控和管理系统的运行状态。它能够显示系统的整体性能数据,以及各个进程的资源占
    的头像 发表于 11-17 10:25 ?2922次阅读

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 ?566次阅读
    Kubernetes Pod常用<b class='flag-5'>管理</b><b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    Linux网络管理关键技术和最佳实践

    在大型互联网企业Linux网络管理是运维工程师的核心技能之一。面对海量服务器、复杂网络拓扑、高并发流量,运维人员需要掌握从基础
    的头像 发表于 07-09 09:53 ?230次阅读

    Linux基础命令which详解

    Linux系统,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是一个非常有用的工具,可以帮助定位
    的头像 发表于 07-29 17:58 ?169次阅读