本文檔概述了網(wǎng)絡(luò)管理中的關(guān)鍵命令,如ifconfig配置網(wǎng)絡(luò)接口,ip管理路由,ping測試連通性,以及nmap進(jìn)行安全掃描。還介紹了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入應(yīng)用。
前言
#網(wǎng)絡(luò)配置查看 ifconfig ip a #測試網(wǎng)絡(luò)連通性 ping #顯示正確的路由表 ip route #跟蹤路由 traceroute tracepath mtr #確定名稱服務(wù)器使用 nslookup host dig #抓包工具 tcpdump wireshark #安全掃描工具 nmap netcat :網(wǎng)絡(luò)界的瑞士軍刀,即 nc #流量控制工具 tc #查看或修改網(wǎng)卡配置 mii-tool ethtool modprobe dmesg rmmod ......
網(wǎng)絡(luò)管理命令有很多,下面會(huì)介紹一些比較常用的。
1. ifconfig
ifconfig命令用于顯示或設(shè)置網(wǎng)絡(luò)設(shè)備,來源于 net-tools 工具包
格式:
ifconfig [網(wǎng)絡(luò)設(shè)備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq ][media<網(wǎng)絡(luò)媒介類型>][mem_start<內(nèi)存地址>][metric<數(shù)目>][mtu<字節(jié)>][netmask<子網(wǎng)掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
參數(shù)說明:
add<地址> 設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址 del<地址> 刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址 down 關(guān)閉指定的網(wǎng)絡(luò)設(shè)備<硬件地址> 設(shè)置網(wǎng)絡(luò)設(shè)備的類型與硬件地址 io_addr 設(shè)置網(wǎng)絡(luò)設(shè)備的I/O地址 irq 設(shè)置網(wǎng)絡(luò)設(shè)備的IRQ media<網(wǎng)絡(luò)媒介類型> 設(shè)置網(wǎng)絡(luò)設(shè)備的媒介類型 mem_start<內(nèi)存地址> 設(shè)置網(wǎng)絡(luò)設(shè)備在主內(nèi)存所占用的起始地址 metric<數(shù)目> 指定在計(jì)算數(shù)據(jù)包的轉(zhuǎn)送次數(shù)時(shí),所要加上的數(shù)目 mtu<字節(jié)> 設(shè)置網(wǎng)絡(luò)設(shè)備的MTU netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)絡(luò)設(shè)備的子網(wǎng)掩碼 tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址 up 啟動(dòng)指定的網(wǎng)絡(luò)設(shè)備 -broadcast<地址> 將要送往指定地址的數(shù)據(jù)包當(dāng)成廣播數(shù)據(jù)包來處理 -pointopoint<地址> 與指定地址的網(wǎng)絡(luò)設(shè)備建立直接連線,此模式具有保密功能 -promisc 關(guān)閉或啟動(dòng)指定網(wǎng)絡(luò)設(shè)備的promiscuous模式 [IP地址] 指定網(wǎng)絡(luò)設(shè)備的IP地址 [網(wǎng)絡(luò)設(shè)備] 指定網(wǎng)絡(luò)設(shè)備的名稱
示例:
#顯示網(wǎng)絡(luò)設(shè)備信息 ifconfig #啟動(dòng)關(guān)閉指定網(wǎng)卡 ifconfig eth0 down/up 等于 ifdown/ifup eth0 #設(shè)置最大傳輸單元 ifconfig eth0 mtu 1500 #臨時(shí)修改 IP ifconfig ens33 192.168.10.20/24 #建立虛擬網(wǎng)卡(網(wǎng)卡別名),流量走主網(wǎng)卡 ifconfig ens33:0 192.168.10.21 ifconfig ens33:1 192.168.10.22 #單獨(dú)顯示某網(wǎng)卡 ifconfig eth0
2. ip
ip 命令和 ifconfig 類似,但前者功能更強(qiáng)大,并旨在取代后者。使用 ip 命令,只需一個(gè)命令,你就能很輕松地執(zhí)行一些網(wǎng)絡(luò)管理任務(wù)。ifconfig 是 net-tools 中已被廢棄使用的一個(gè)命令,許多年前就已經(jīng)沒有維護(hù)了。iproute2 套件里提供了許多增強(qiáng)功能的命令,ip 命令即是其中之一。 在這里插入圖片描述
示例:
#顯示網(wǎng)卡設(shè)備信息 ip a 或者 ip addr show #查看鏈路層的狀態(tài),但是看不到 ip 地址 iplink ip -slink #顯示更全面,顯示不同網(wǎng)絡(luò)接口的統(tǒng)計(jì)數(shù)據(jù) #查看接入你所在的局域網(wǎng)的設(shè)備的 MAC 地址 ip neighbour #開啟/關(guān)閉 eth0 iplinkseteth0 up/down #臨時(shí)修改網(wǎng)卡名稱 iplinkseteth1 name syhjnet #設(shè)置網(wǎng)卡別名(虛擬網(wǎng)卡) 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 網(wǎng)卡上的 IP ip addr del 20.0.0.19/24 dev eth0 ip addr flush dev eth0 #設(shè)置 eth0 默認(rèn)網(wǎng)關(guān)為 192.168.0.2 ip route add default via 20.0.0.2 dev eth0 #查看路由表?xiàng)l目 ip route show #查看具體 IP 路由包從哪里來 ip route get 20.0.0.19 #更改默認(rèn)路由 ip route add default via 20.0.0.196 #監(jiān)控 netlink 消息 ip monitor all
參考:試試 Linux 下的 ip 命令
3. ping
Linux ping 命令用于檢測主機(jī),執(zhí)行 ping 指令會(huì)使用 ICMP 傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒有問題,就會(huì)回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。
格式:
ping [參數(shù)選項(xiàng)] [主機(jī)名或IP地址]
參數(shù) | 含義 |
-c | 設(shè)置完成要求回應(yīng)的次數(shù) |
-i | 指定收發(fā)信息的間隔時(shí)間 |
-s | 設(shè)置數(shù)據(jù)包的大小 |
-w | 在設(shè)定的秒后退出 |
示例:
[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] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev] route del [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
選項(xiàng)說明:
add 添加一條路由規(guī)則 del 刪除一條路由規(guī)則 -net 目的地址是一個(gè)網(wǎng)絡(luò) -host 目的地址是一個(gè)主機(jī) target 目的網(wǎng)絡(luò)或主機(jī) netmask 目的地址的網(wǎng)絡(luò)掩碼 gw 路由數(shù)據(jù)包通過的網(wǎng)關(guān) dev 為路由指定的網(wǎng)絡(luò)接口
??要實(shí)現(xiàn)兩個(gè)不同的子網(wǎng)之間的通信,需要一臺(tái)連接兩個(gè)網(wǎng)絡(luò)的路由器或者同時(shí)位于兩個(gè)網(wǎng)絡(luò)的網(wǎng)關(guān)。在 Linux 系統(tǒng)中,設(shè)置路由通常是為了解決以下問題:該 Linux 系統(tǒng)在一個(gè)局域網(wǎng)中,局域網(wǎng)中有一個(gè)網(wǎng)關(guān),能夠讓機(jī)器訪問 internet,那么就需要將這臺(tái)機(jī)器的 IP 地址設(shè)置為 Linux 機(jī)器的默認(rèn)路由。要注意的是,直接在命令行下執(zhí)行 route 命令來添加路由,不會(huì)永久保存,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就失效了。要想永久保存,有如下方法:
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 命令的輸出項(xiàng)說明:
Destination 目標(biāo)網(wǎng)段或者主機(jī) Gateway 網(wǎng)關(guān)地址,”*” 表示目標(biāo)是本主機(jī)所屬的網(wǎng)絡(luò),不需要路由 Genmask 網(wǎng)絡(luò)掩碼 Flags 標(biāo)記。一些可能的標(biāo)記如下: U — 路由是活動(dòng)的 H — 目標(biāo)是一個(gè)主機(jī) G — 路由指向網(wǎng)關(guān) R — 恢復(fù)動(dòng)態(tài)路由產(chǎn)生的表項(xiàng) D — 由路由的后臺(tái)程序動(dòng)態(tài)地安裝 M — 由路由的后臺(tái)程序修改 ! — 拒絕路由 Metric 路由距離,到達(dá)指定網(wǎng)絡(luò)所需的中轉(zhuǎn)數(shù)(linux 內(nèi)核中沒有使用) Ref 路由項(xiàng)引用次數(shù)(linux 內(nèi)核中沒有使用) Use 此路由項(xiàng)被路由軟件查找的次數(shù) Iface 該路由表項(xiàng)對(duì)應(yīng)的輸出接口
示例:
[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 #路由主要有三種:主機(jī)路由,網(wǎng)絡(luò)路由,默認(rèn)路由 #添加到主機(jī)的路由,目標(biāo) 192.168.1.3 網(wǎng)關(guān) 172.16.0.1 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 #添加到網(wǎng)絡(luò)的路由,目標(biāo) 192.168.0.0 網(wǎng)關(guān) 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 #添加默認(rèn)路由,網(wǎng)關(guān) 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)是一個(gè)查看進(jìn)程打開的文件的工具
選項(xiàng):
-a:列出打開文件存在的進(jìn)程 -c<進(jìn)程名>:列出指定進(jìn)程所打開的文件 -u:列出 UID 號(hào)進(jìn)程詳情 -g:列出 GID 號(hào)進(jìn)程詳情 -d<文件號(hào)>:列出占用該文件號(hào)的進(jìn)程 +d<目錄>:列出目錄下被打開的文件 +D<目錄>:遞歸列出目錄下被打開的文件 -n<目錄>:列出使用 NFS 的文件 -i<條件>:列出符合條件的進(jìn)程( IPV(4/6)協(xié)議 :端口 @ip ) -p<進(jìn)程號(hào)>:列出指定進(jìn)程號(hào)所打開的文件 -n: 不反向解析網(wǎng)絡(luò)名字
具體示例參考:Linux 進(jìn)程和計(jì)劃任務(wù)管理
6. netstat
netstat 用來查看當(dāng)前操作系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)、路由表、接口統(tǒng)計(jì)等信息,來自于 net-tools 工具包,ss 是 netstat 的升級(jí)版。
參數(shù) | 含義 |
-a | 顯示主機(jī)中所有活動(dòng)的網(wǎng)絡(luò)連接信息 (包括監(jiān)聽、非監(jiān)聽狀態(tài)的服務(wù)端口) |
-n | 以數(shù)字的形式顯示相關(guān)的主機(jī)地址、端口等信息 |
-p | 顯示與網(wǎng)絡(luò)連接相關(guān)聯(lián)的進(jìn)程號(hào)、進(jìn)程名稱信息 (該選項(xiàng)需要 root 權(quán)限) |
-l | 顯示處于監(jiān)聽 (Listen) 狀態(tài)的網(wǎng)絡(luò)連接及端口信息 |
-t | 查看 TCP (Transmission Control Protocol,傳輸控制協(xié)議) 相關(guān)的信息 |
-u | 顯示 UDP (User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議) 協(xié)議相關(guān)的信息 |
-r | 顯示路由表信息 |
-i | 顯示網(wǎng)卡列表 |
-g | 顯示組播組的關(guān)系 |
-s | 顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息 |
常用命令選項(xiàng):
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 的升級(jí)版本。netstat 通過遍歷 /proc 來獲取 socket 信息,ss 使用 netlink 與內(nèi)核 tcp_diag 模塊通信獲取 socket 信息。
格式:
ss [OPTION]... [FILTER]
選項(xiàng):
-t: tcp協(xié)議相關(guān) -u: udp協(xié)議相關(guān) -w: 裸套接字相關(guān) -x:unix sock 相關(guān) -l: listen 狀態(tài)的連接 -a: 所有 -n: 數(shù)字格式 -p: 相關(guān)的程序及 PID -e: 擴(kuò)展的信息 -m:內(nèi)存用量 -o:計(jì)時(shí)器信息
示例:
#顯示本地打開的所有端口 ss -l #列出當(dāng)前 socket 詳細(xì)信息 ss -s #顯示每個(gè)進(jìn)程具體打開的 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 命令可以用于測試從當(dāng)前主機(jī)到目的主機(jī)之間經(jīng)過了哪些網(wǎng)絡(luò)結(jié)點(diǎn),并顯示各個(gè)中間結(jié)點(diǎn)的連接狀態(tài)(響應(yīng)時(shí)間)。對(duì)于無法響應(yīng)的結(jié)點(diǎn),連接狀態(tài)將顯示為 “*”,預(yù)設(shè)數(shù)據(jù)包大小是 40Bytes,用戶可另行設(shè)置。如果沒有 traceroute 命令可執(zhí)行 yum -y install traceroute 安裝。
格式:
traceroute [參數(shù)] [主機(jī)|IP]
參數(shù):
-d 使用 Socket 層級(jí)的排錯(cuò)功能 -f 設(shè)置第一個(gè)檢測數(shù)據(jù)包的存活數(shù)值 TTL 的大小 -F 設(shè)置勿離斷位 -g 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置 8 個(gè) -i 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包 -I 使用 ICMP 回應(yīng)取代 UDP 資料信息 -m 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值 TTL 的大小 -n 直接使用 IP 地址而非主機(jī)名稱 -p 設(shè)置 UDP 傳輸協(xié)議的通信端口 -r 忽略普通的 Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上 -s 設(shè)置本地主機(jī)送出數(shù)據(jù)包的 IP 地址 -t 設(shè)置檢測數(shù)據(jù)包的 TOS 數(shù)值 -v 詳細(xì)顯示指令的執(zhí)行過程 -w 設(shè)置等待遠(yuǎn)端主機(jī)回報(bào)的時(shí)間 -x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)
示例:
[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 #可以看到這兩臺(tái)機(jī)器之間沒有經(jīng)過路由,是直連或連著交換機(jī)的狀態(tài) [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
域名解析工具,執(zhí)行 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 # 一行一個(gè) DNS,最多配置三個(gè) DNS,優(yōu)先使用第一個(gè) DNS 服務(wù)器 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 文件中記錄著一份主機(jī)名與 IP 地址的映射關(guān)系表,一般用來保存經(jīng)常需要訪問的主機(jī)的信息。當(dāng)訪問一個(gè)未知的域名時(shí),先查找該文件中是否有相應(yīng)的映射記錄,如果找不到再去向 DNS 服務(wù)器查詢。
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 命令可以完成網(wǎng)卡上所有的配置工作,并且可以寫入配置文件永久生效。centos7 默認(rèn)安裝,沒有執(zhí)行 yum -y install NetworkManager。
nmcli 命令相關(guān)術(shù)語:
- 設(shè)備即網(wǎng)絡(luò)接口 - 連接是對(duì)網(wǎng)絡(luò)接口的配置,一個(gè)網(wǎng)絡(luò)接口可有多個(gè)連接配置,但同時(shí)只有一個(gè)連接配置生效
格式:
nmcli [OPTIONS] OBJECT { COMMAND |help}
選項(xiàng):
-a 詢問缺少的參數(shù) -c 是否在輸出中使用顏色 -e 轉(zhuǎn)義值中的列分隔符 -f 指定要輸出的字段 -g -m tabular -t -f 的快捷方式 -m 輸出模式 -o 概覽模式 -p 更加友好的輸出方式 -s 允許顯示密碼 -t 簡潔輸出 -v 顯示程序版本 -w 設(shè)置等待完成操作的超時(shí)
對(duì)象:
g[eneral] NetworkManager 的一般狀態(tài)和操作 n[etworking] 整體網(wǎng)絡(luò)控制 r[adio] NetworkManager 無線電開關(guān) c[onnection] NetworkManager 的連接 d[evice] 由 NetworkManager 管理的設(shè)備 a[gent] NetworkManager 秘密代理或 polkit 代理 m[onitor] 監(jiān)控 NetworkManager 的變化
示例:
#查看幫助 nmcli con addhelp #顯示連接信息 nmcli con show #顯示活動(dòng)連接 nmcli con show --active #顯示具體的網(wǎng)絡(luò)連接配置 nmcli con show eth0 #顯示設(shè)備狀態(tài) nmcli dev status #顯示網(wǎng)絡(luò)接口屬性 nmcli dev show eth0 #創(chuàng)建新連接 default,IP 通過 dhcp 自動(dòng)獲取 nmcli con add con-name defaulttypeEthernet ifname eth0 #刪除 default 連接 nmcli con del default #創(chuàng)建新連接 static ,指定靜態(tài) IP,不自動(dòng)連接 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 #修改連接設(shè)置 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設(shè)置存放在 /etc/resolv.conf,PEERDNS=no 表示當(dāng) IP 通過 dhcp 自動(dòng)獲取時(shí),dns 仍是手動(dòng)設(shè)置, 不自動(dòng)獲取等價(jià)于下面命令 nmcli con mod"system eth0"ipv4.ignore-auto-dnsyes
nmcli 實(shí)現(xiàn) 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 #注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構(gòu)成 #要啟動(dòng)綁定,則必須首先啟動(dòng)從屬接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1 #啟動(dòng)綁定 nmcli con up mybond0
12. tcpdump
網(wǎng)絡(luò)數(shù)據(jù)包截獲分析工具。支持針對(duì)網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過濾。并提供 and、or、not 等邏輯語句幫助去除無用的信息。
格式:
tcpdump [-adeflnNOpqStvx][-c<數(shù)據(jù)包數(shù)目>][-dd][-ddd][-F<表達(dá)文件>][-i<網(wǎng)絡(luò)界面>][-r<數(shù)據(jù)包文件>][-s<數(shù)據(jù)包大小>][-tt][-T<數(shù)據(jù)包類型>][-vv][-w<數(shù)據(jù)包文件>][輸出數(shù)據(jù)欄位]
選項(xiàng):
-a 嘗試將網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱 -c<數(shù)據(jù)包數(shù)目> 收到指定的數(shù)據(jù)包數(shù)目后,就停止進(jìn)行傾倒操作 -d 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式,并傾倒到標(biāo)準(zhǔn)輸出 -dd把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式,并傾倒到標(biāo)準(zhǔn)輸出 -ddd 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進(jìn)制數(shù)字的格式,并傾倒到標(biāo)準(zhǔn)輸出 -e 在每列傾倒資料上顯示連接層級(jí)的文件頭 -f 用數(shù)字顯示網(wǎng)際網(wǎng)絡(luò)地址 -F<表達(dá)文件> 指定內(nèi)含表達(dá)方式的文件 -i<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包 -l 使用標(biāo)準(zhǔn)輸出列的緩沖區(qū) -n 不把主機(jī)的網(wǎng)絡(luò)地址轉(zhuǎn)換成名字 -N 不列出域名 -O 不將數(shù)據(jù)包編碼最佳化 -p 不讓網(wǎng)絡(luò)界面進(jìn)入混雜模式 -q 快速輸出,僅列出少數(shù)的傳輸協(xié)議信息 -r<數(shù)據(jù)包文件> 從指定的文件讀取數(shù)據(jù)包數(shù)據(jù) -s<數(shù)據(jù)包大小> 設(shè)置每個(gè)數(shù)據(jù)包的大小 -S 用絕對(duì)而非相對(duì)數(shù)值列出TCP關(guān)聯(lián)數(shù) -t 在每列傾倒資料上不顯示時(shí)間戳記 -tt 在每列傾倒資料上顯示未經(jīng)格式化的時(shí)間戳記 -T<數(shù)據(jù)包類型> 強(qiáng)制將表達(dá)方式所指定的數(shù)據(jù)包轉(zhuǎn)譯成設(shè)置的數(shù)據(jù)包類型 -v 詳細(xì)顯示指令執(zhí)行過程 -vv 更詳細(xì)顯示指令執(zhí)行過程 -x 用十六進(jìn)制字碼列出數(shù)據(jù)包資料 -w<數(shù)據(jù)包文件> 把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件
示例:
#不指定任何參數(shù),監(jiān)聽第一塊網(wǎng)卡上經(jīng)過的數(shù)據(jù)包。主機(jī)上可能有不止一塊網(wǎng)卡,所以經(jīng)常需要指定網(wǎng)卡 tcpdump #監(jiān)聽特定網(wǎng)卡 tcpdump -i eth0 #限制抓包的數(shù)量,抓到 1000 個(gè)包后,自動(dòng)退出 tcpdump -c 1000 #監(jiān)聽特定主機(jī),監(jiān)聽主機(jī) 10.0.0.100 的通信包,出、入的包都會(huì)被監(jiān)聽 tcpdump host 10.0.0.100 #特定來源 tcpdump src host hostname #特定目標(biāo)地址 tcpdump dst host hostname #如果不指定 src 跟 dst,那么來源或者目標(biāo)是 hostname 的通信都會(huì)被監(jiān)聽 tcpdump host hostname #特定端口 tcpdump port 3000 #監(jiān)聽 TCP/UDP,服務(wù)器上不同服務(wù)分別用了 TCP、UDP 作為傳輸層,假如只想監(jiān)聽 TCP 的數(shù)據(jù)包 tcpdump tcp #來源主機(jī)+端口+TCP,監(jiān)聽來自主機(jī) 10.0.0.100 在端口 22 上的 TCP 數(shù)據(jù)包 tcpdump tcp port 22 and src host 10.0.0.100 #監(jiān)聽特定主機(jī)之間的通信 tcpdump ip host 10.0.0.101 and 10.0.0.102 #10.0.0.101 和除了 10.0.0.1 之外的主機(jī)之間的通信 tcpdump ip host 10.0.0.101 and ! 10.0.0.1 #保存到本地,tcpdump 默認(rèn)會(huì)將輸出寫到緩沖區(qū),只有緩沖區(qū)內(nèi)容達(dá)到一定的大小,或者 tcpdump 退出時(shí),才會(huì)將輸出寫到本地磁盤,可以加上 -U 強(qiáng)制立即寫到本地磁盤(一般不建議,性能相對(duì)較差) tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap #詳細(xì)示例和解釋 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這些選項(xiàng)等都要放到第一個(gè)參數(shù)的位置,用來過濾數(shù) 據(jù)報(bào)的類型 (2)-i eth1 : 只抓經(jīng)過接口 eth1 的包 (3)-t : 不顯示時(shí)間戳 (4)-s 0 : 抓取數(shù)據(jù)包時(shí)默認(rèn)抓取長度為 68 字節(jié)。加上-S 0 后可以抓到完整的數(shù)據(jù)包 (5)-c 100 : 只抓取 100 個(gè)數(shù)據(jù)包 (6)dst port ! 22 : 不抓取目標(biāo)端口是 22 的數(shù)據(jù)包 (7)src net 192.168.1.0/24 : 數(shù)據(jù)包的源網(wǎng)絡(luò)地址為 192.168.1.0/24 (8)-w ./target.cap : 保存成cap文件,方便用 wireshark 分析
參考:
tcpdump 使用詳解
tcpdump命令
13. arp
arp 命令用于操作主機(jī)的 arp 緩沖區(qū),可以用來顯示 arp 緩沖區(qū)中的所有條目、刪除指定的條目或者添加靜態(tài)的 ip 地址與 MAC 地址對(duì)應(yīng)關(guān)系。
格式:
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 <-''-
參數(shù):
-a<主機(jī)>:顯示 arp 緩沖區(qū)的所有條目 -H<地址類型>:指定 arp 指令使用的地址類型 -d<主機(jī)>:從 arp 緩沖區(qū)中刪除指定主機(jī)的 arp 條目 -D:使用指定接口的硬件地址 -e:以 Linux 的顯示風(fēng)格顯示 arp 緩沖區(qū)中的條目 -i<接口>:指定要操作 arp 緩沖區(qū)的網(wǎng)絡(luò)接口 -s<主機(jī)>:設(shè)置指定的主機(jī)的 IP 地址與 MAC 地址的靜態(tài)映射 -n:以數(shù)字方式顯示 arp 緩沖區(qū)中的條目 -v:顯示詳細(xì)的 arp 緩沖區(qū)條目,包括緩沖區(qū)條目的統(tǒng)計(jì)信息 -f<文件>:設(shè)置主機(jī)的 IP 地址與 MAC 地址的靜態(tài)映射
示例:
#顯示 ARP 表 arp -n 或 ip neigh #ARP 靜態(tài)綁定 MAC 地址可以防止 ARP 欺騙 arp -s 10.0.0.6 002980:38 #刪除 arp 緩存條目 arp -d 10.0.0.6 #指定回復(fù)的 MAC 地址 arp -i eth0 -Ds 10.0.0.2 eth1 pub
kali 系統(tǒng)通過 arp 欺騙實(shí)現(xiàn)網(wǎng)絡(luò)流量劫持
#啟動(dòng)路由轉(zhuǎn)發(fā)功能 [root@kali ~]#echo1 > /proc/sys/net/ipv4/ip_forward #安裝包 [root@kali ~]# apt-get install dsniff #欺騙目標(biāo)主機(jī),本機(jī)是網(wǎng)關(guān) [root@kali ~]# arpspoof -i eth0 -t [被劫持的目標(biāo)主機(jī)IP] [網(wǎng)關(guān)IP] #欺騙網(wǎng)關(guān),本機(jī)是目標(biāo)主機(jī) [root@kali ~]# arpspoof -i eth0 -t [網(wǎng)關(guān)IP] [被劫持的目標(biāo)主機(jī)IP]
14. nmap
nmap 是一個(gè)強(qiáng)大的端口掃描類安全評(píng)測工具,支持 ping 掃描、多端口檢測等多種技術(shù)。
# nmap 軟件包安裝 rpm -qa | grep nmap yum -y install nmap
格式:
nmap [掃描類型] [選項(xiàng)] [掃描目標(biāo)]
常用參數(shù)選項(xiàng):
-p:指定掃描的端口 -n:禁用反向 DNS 解析(加快掃描速度) -sS:TCP 的 SYN 掃描(半開掃描),只向目標(biāo)發(fā)出 SYN 數(shù)據(jù)包,如果收到 SYN/ACK 響應(yīng)包就認(rèn)為目標(biāo)端口正在監(jiān)聽,并立即斷開連接;否則認(rèn)為目標(biāo)端口并未開放 -sT:TCP 連接掃描,這是完整的 TCP 掃描方式(默認(rèn)掃描類型),用來建立一個(gè) TCP 連接,如果成功則認(rèn)為目標(biāo)端口正在監(jiān)聽服務(wù),否則認(rèn)為目標(biāo)端口并未開放 -sF:TCP 的 FIN 掃描,開放的端口會(huì)忽略這種數(shù)據(jù)包,關(guān)閉的端口會(huì)回應(yīng) RST 數(shù)據(jù)包。許多防火墻只對(duì) SYN 數(shù)據(jù)包進(jìn)行簡單過濾,而忽略了其他形式的 TCP 攻擊包。這種類型的掃描可間接檢測防火墻的健壯性 -sU:UDP 掃描,探測目標(biāo)主機(jī)提供哪些 UDP 服務(wù),UDP 掃描的速度會(huì)比較慢 -sP:ICMP 掃描,類似于 ping 檢測,快速判斷目標(biāo)主機(jī)是否存活,不做其他掃描 -P0:跳過 ping 檢測,這種方式認(rèn)為所有的目標(biāo)主機(jī)是存活的,當(dāng)對(duì)方不響應(yīng) ICMP 請(qǐng)求時(shí),使用這種方式可以避免因無法 ping 通而放棄掃描
TCP 控制位類型:
SYN 建立連接 ACK 確認(rèn)數(shù)據(jù)包傳輸狀況 FIN 關(guān)閉連接 PSH 推送位 RST 重置 URG 緊急
示例:
#分別查看本機(jī)開放的 TCP 端口、UDP 端口 nmap -sT 127.0.0.1 nmap -sU 127.0.0.1 #檢測 192.168.80.0/24 網(wǎng)段有哪些主機(jī)提供 HTTP 服務(wù) nmap -p 80 192.168.80.0/24 #檢測 192.168.80.0/24 網(wǎng)段有哪些存活主機(jī) nmap -n -sP 192.168.80.0/24
鏈接:https://blog.csdn.net/shenyuanhaojie/article/details/119899419
-
Linux
+關(guān)注
關(guān)注
87文章
11506瀏覽量
213393 -
網(wǎng)絡(luò)管理
+關(guān)注
關(guān)注
0文章
124瀏覽量
28126 -
命令
+關(guān)注
關(guān)注
5文章
737瀏覽量
22811
原文標(biāo)題:緊急!服務(wù)器網(wǎng)絡(luò)故障?這14個(gè)Linux命令能救急
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論