女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    11508

    瀏覽量

    213615
  • 網絡管理
    +關注

    關注

    0

    文章

    125

    瀏覽量

    28171
  • 命令
    +關注

    關注

    5

    文章

    737

    瀏覽量

    22864

原文標題:緊急!服務器網絡故障?這14個Linux命令能救急

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux系統命令及其使用詳解

    Linux系統命令及其使用詳解
    發表于 08-20 13:38

    Linux系統管理命令

    Linux系統管理命令 Linux系統管理命令  wall
    發表于 01-18 12:47 ?898次閱讀

    Linux的常用網絡命令

    Linux的常用網絡命令 Linux 的常用網絡命令  計算機
    發表于 01-18 12:47 ?1229次閱讀

    Linux關機命令詳解

    Linux關機命令詳解linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init,它們都 可以達到重啟
    發表于 01-18 12:52 ?3741次閱讀

    Linux系統命令及其使用詳解 _120頁

    電子發燒友網站提供《Linux系統命令及其使用詳解 _120頁.doc》資料免費下載
    發表于 04-18 13:23 ?3次下載

    Linux網絡編程實例詳解

    網絡通訊教程學習之Linux網絡編程實例詳解
    發表于 09-01 14:55 ?0次下載

    linux常用命令實例詳解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盤操作、文件存取、目錄操作、進程管理、文件權限設定等。所以,在Linux系統上工作離不開使用系統提供的
    發表于 11-03 10:19 ?5641次閱讀

    Linux命令詳解 [兼容模式]pdf免費下載

    linux命令詳解pdf,希望對大家有幫助!
    發表于 12-15 15:54 ?10次下載

    Linux系統管理命令整理及使用方法介紹

    linux命令是對Linux系統進行管理命令。對于Linux系統來說,無論是中央處理器、內存、
    的頭像 發表于 09-23 14:55 ?7065次閱讀

    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 ?552次閱讀

    linuxtop命令詳解

    Linux系統的top命令是一個非常強大和常用的命令,用于實時監控和管理系統的運行狀態。它能夠顯示系統的整體性能數據,以及各個進程的資源占
    的頭像 發表于 11-17 10:25 ?2771次閱讀

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發表于 02-17 14:06 ?488次閱讀
    Kubernetes Pod常用<b class='flag-5'>管理</b><b class='flag-5'>命令</b><b class='flag-5'>詳解</b>

    Linux網絡管理關鍵技術和最佳實踐

    在大型互聯網企業Linux網絡管理是運維工程師的核心技能之一。面對海量服務器、復雜網絡拓撲、高并發流量,運維人員需要掌握從基礎
    的頭像 發表于 07-09 09:53 ?132次閱讀