日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

 wq2g2ds152m668 2019-05-10

作為一名 IT 從業(yè)者,經(jīng)常都要跟 Linux 打交道,其中網(wǎng)絡(luò)更是用得頻繁,掌握基本的網(wǎng)絡(luò)命令是必備的技能,更是提高我們工作效率的必備良器,今天這篇文章就來梳理下常用的網(wǎng)絡(luò)工具。因?yàn)槭崂淼拿畋容^多,所以文章自然不會(huì)深入介紹這些命令的用法,大家可以有個(gè)印象,然后學(xué)習(xí)工作中碰到了再具體去查好了。

總的來說,Linux 網(wǎng)絡(luò)命令涉及到這么幾塊:

  • 網(wǎng)絡(luò)配置: ifconfig、 ip
  • 連通性探測(cè): ping、 traceroute、 telnet、 mtr
  • 網(wǎng)絡(luò)連接: netstat、 ss、 nc、 lsof
  • 流量統(tǒng)計(jì): ifstat、 sar、 iftop
  • 交換與路由: arp、 arping、 vconfig、 route
  • 防火墻: iptables、 ipset
  • 域名: host、 nslookup、 dig、 whois
  • 抓包: tcpdump
  • 虛擬設(shè)備: tunctl、 brctl、 ovs

01 網(wǎng)絡(luò)配置

最重要的兩個(gè)工具就是 ifconfig 和 ip,這兩個(gè)工具分別來自兩個(gè)工具包 net-tools 和 iproute2,其中, net-tools 包還包含如 route、 netstat、 tc、 ifstat 等等常用的工具,不過, net-tools 包已經(jīng)逐步在被 iproute2 包替換。對(duì)于我們學(xué)習(xí)來說,不妨都學(xué)習(xí)下,這樣也有助于理解和記憶。

1.1 ifconfig

ifconfig 通常是用來查看網(wǎng)卡的信息(比如 IP 地址、收發(fā)包及丟包情況等),以及配置網(wǎng)卡(如啟停網(wǎng)卡,修改網(wǎng)卡 MTU,修改 IP、MAC 地址等)

查看網(wǎng)卡信息:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

給網(wǎng)卡配置 IP 地址:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

開關(guān)網(wǎng)卡:

ifconfig eth0 downifconfig eth0 up

1.2 ip

ip 是非常強(qiáng)大的工具,可以替換 net-tools 包的所有工具,如常見的 ifconfig、 netstat、 route、 arp 等,比如查看網(wǎng)卡信息:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

查看路由:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

查看 arp 信息:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

更多的用法大家用到可以 man ip 一下。

02 連通性探測(cè)

連通性探測(cè)意在使用工具探測(cè)兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)之間的連通性,常用的有 ping、 telnet、 traceroute、 tracepath、 mtr 等工具。

2.1 ping

這個(gè)命令通常用來判斷網(wǎng)絡(luò)的連通性和網(wǎng)速情況,偶爾用來查看域名的 IP,比如:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

可以看到百度對(duì)應(yīng)域名的 IP。

使用 -c 參數(shù)可以指定發(fā)送數(shù)據(jù)包的個(gè)數(shù), -w 指定最長(zhǎng)等待時(shí)間, -I指定發(fā)送數(shù)據(jù)包的網(wǎng)卡。

ping 只能使用 ipv4,要使用 ipv6,可以用 ping6 命令。

2.2 telnet

telnet 通常用作遠(yuǎn)程登錄,用來確定遠(yuǎn)程服務(wù)的狀態(tài),探測(cè)遠(yuǎn)程服務(wù)器的某個(gè)端口是否能訪問,也可以探測(cè)本地的,如:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

可見成功連接到 localhost 的 22 端口,說明該端口已經(jīng)打開。

2.3 traceroute & tracepath

traceroute 主要用來探測(cè)從源主機(jī)到目標(biāo)主機(jī)之間的每一跳路由節(jié)點(diǎn),通常和 ping 結(jié)合起來排查網(wǎng)絡(luò)故障, ping 測(cè)連通性和網(wǎng)速,如果網(wǎng)絡(luò)不通,可以借由 traceroute 進(jìn)一步排查是哪個(gè)路由節(jié)點(diǎn)出問題了。如果網(wǎng)絡(luò)卡頓,也可以判斷出哪里是瓶頸。

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

可以看到,從主機(jī)到 baidu.com 共經(jīng)歷了 30 跳,每一跳都統(tǒng)計(jì)了響應(yīng)時(shí)間。

類似的工具還有一個(gè) tracepath。

2.4 mtr

mtr 全稱是 mytraceroute,是一個(gè)集大成的工具,它集成了 ping、 traceroute、 nslookup 的功能,診斷網(wǎng)絡(luò)問題非常方便。

mtr 有個(gè)好處就是能夠 實(shí)時(shí)刷新 數(shù)據(jù),比如 mtr-n www.baidu.com 可以看到,從本地到百度經(jīng)過的所有路由,并顯示每個(gè)路由間的丟包率、響應(yīng)時(shí)間等。

常用參數(shù):

mtr -r 不會(huì)刷新,一次性打印 10個(gè)包的統(tǒng)計(jì)結(jié)果mtr -s 用來指定ping數(shù)據(jù)包的大小mtr -n no-dns不對(duì)IP地址做域名反解析mtr -a 來設(shè)置發(fā)送數(shù)據(jù)包的IP地址,這個(gè)用于主機(jī)有多個(gè)IP時(shí)。mtr -i 使用這個(gè)參數(shù)來設(shè)置ICMP返回之間的要求默認(rèn)是1秒mtr -c 指定發(fā)送多少個(gè)數(shù)據(jù)包mtr -4 IPv4mtr -6 IPv6

03 網(wǎng)絡(luò)連接

主要涉及到對(duì)網(wǎng)絡(luò)連接狀態(tài)的統(tǒng)計(jì),比如連接打開了哪些端口、TCP/UDP、socket 的狀態(tài)是什么等等。常用的工具有 netstat、 ss、lsof、 netcat等。

3.1 netstat

netstat 用于查看當(dāng)前網(wǎng)絡(luò)的連接情況,能夠查看所有的網(wǎng)絡(luò)連接,包括 unix socket 等,也是集多種工具于一身的組合工具。最常用的就是用來檢查本地系統(tǒng)都打開了哪些端口:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

其他的一些常見用法還有:

  • netstat -i 顯示網(wǎng)絡(luò)接口信息
  • netstat -s 顯示所有網(wǎng)絡(luò)協(xié)議棧信息
  • netstat -r 顯示路由表信息
  • netstat -at 列出所有 TCP 端口
  • netstat -au 列出所有 UDP 端口
  • netstat -lt 列出所有監(jiān)聽 TCP 端口的 socket
  • netstat -lu 列出所有監(jiān)聽 UDP 端口的 socket
  • netstat -lx 列出所有監(jiān)聽 UNIX 端口的 socket
  • netstat -ap | grep ssh 找出程序運(yùn)行的端口
  • netstat -an | grep ':80' 找出運(yùn)行在指定端口的進(jìn)程

3.2 ss

ss 和 netstat 類似,也是用來查看網(wǎng)絡(luò)連接統(tǒng)計(jì)的工具,它的輸出也和 netstat 類似,甚至顯示更多連接狀態(tài)信息,它最大的優(yōu)勢(shì)在于比 netstat 快,在服務(wù)器維持上萬個(gè)連接的情況下,這種優(yōu)勢(shì)就體現(xiàn)得比較明顯。

常用參數(shù):

  • -l 查看處于LISTEN狀態(tài)的連接
  • -t 查看tcp連接
  • -4 查看ipv4連接
  • -n 不進(jìn)行域名解析

通常使用 ss-tln4 查看本地監(jiān)聽的所有端口。

3.3 lsof

lsof 可以列出當(dāng)前系統(tǒng)打開文件、打開文件的進(jìn)程、進(jìn)程打開的端口。由于在 Linux 中一切皆文件,所以, lsof 也常用來統(tǒng)計(jì)網(wǎng)絡(luò)相關(guān)的文件信息(使用 -i 選項(xiàng)),如 TCP/UDP/Unix socket 的統(tǒng)計(jì)信息。

它的使用格式為 [46][protocol][@hostname|hostaddr][:service|port],比如:

列出所有與主機(jī) 172.18.82.173(我的主機(jī)IP)22 號(hào)端口的 ipv4 連接:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

3.4 netcat(nc)

nc 被稱為瑞士軍刀,非常輕巧但功能強(qiáng)大,能夠創(chuàng)建各種不同類型的網(wǎng)絡(luò)連接、能夠?qū)崿F(xiàn)簡(jiǎn)單的聊天工具、遠(yuǎn)程傳輸文件、debug 分析、掃描端口等。

比如掃描主機(jī) 172.18.82.173 的 1-100 哪些端口開放:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

可以看到,該主機(jī)開放了 22 和 80 端口。

04 流量統(tǒng)計(jì)

4.1 ifstat

ifstat 主要用來監(jiān)測(cè)主機(jī)網(wǎng)口的網(wǎng)絡(luò)流量,常用的選項(xiàng)包括:

  • -a:監(jiān)測(cè)主機(jī)所有網(wǎng)口
  • -i:指定要監(jiān)測(cè)的網(wǎng)口
  • -t:在每行輸出信息前加上時(shí)間戳
  • -b:以 Kbit/s 顯示流量數(shù)據(jù),而不是默認(rèn)的 KB/s
  • delay:采樣間隔(單位是 s),即每隔 delay 的時(shí)間輸出一次統(tǒng)計(jì)信息
  • count:采樣次數(shù),即共輸出 count 次統(tǒng)計(jì)信息

比如,通過以下命令統(tǒng)計(jì)主機(jī)所有網(wǎng)口某一段時(shí)間內(nèi)的流量數(shù)據(jù):

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

4.2 sar

sar 是一個(gè)系統(tǒng)歷史數(shù)據(jù)統(tǒng)計(jì)工具。統(tǒng)計(jì)的信息非常全,包括 CPU、內(nèi)存、磁盤 I/O、網(wǎng)絡(luò)、進(jìn)程、系統(tǒng)調(diào)用等等信息。網(wǎng)絡(luò)信息通常使用 -n參數(shù)來統(tǒng)計(jì),常用幾個(gè)選項(xiàng)如下:

  • -n DEV:網(wǎng)絡(luò)接口統(tǒng)計(jì)信息。
  • -n EDEV:網(wǎng)絡(luò)接口錯(cuò)誤。
  • -n IP:IP 數(shù)據(jù)報(bào)統(tǒng)計(jì)信息。
  • -n EIP:IP 錯(cuò)誤統(tǒng)計(jì)信息。
  • -n TCP:TCP 統(tǒng)計(jì)信息。
  • -n ETCP:TCP 錯(cuò)誤統(tǒng)計(jì)信息。
  • -n SOCK:套接字使用。

4.3 iftop

和 top、 iotop 是一個(gè)系列,它主要用來查看網(wǎng)絡(luò)流量。

05 交換與路由

5.1 arp

用來管理主機(jī)的 ARP 緩存,增刪查改等。

常見用法:

  • arp:顯示 ARP 緩存所有記錄
  • arp -i :顯示指定接口的 ARP 緩存記錄
  • arp -d :刪除指定主機(jī)的 ARP 緩存記錄
  • arp -s <硬件地址>:添加 ARP 緩存靜態(tài)項(xiàng)

5.2 arping

查看本 LAN 內(nèi) IP 對(duì)應(yīng)的主機(jī) MAC 地址,以及 MAC 的占用問題。

比如,指定從某個(gè)接口向某臺(tái)主機(jī)發(fā)送 ARP 包,來獲得 MAC 地址。

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

5.3 vconfig

Linux vlan 配置命令,比如給某個(gè)接口增加兩個(gè) vlan 是:

vconfig add eth0 100vconfig add eth0 200

刪除 vlan 是:

vconfig rem eth0.100vconfig rem eth0.200

5.4 route

route 用來查看和修改路由表,同樣工具還有 netstat-r 和 ip route。

  • route-n 查看路由表
  • route add/del 增加/刪除路由表

比如添加一條默認(rèn)路由:

route add default gw 192.168.1.1 dev eth0

06 防火墻

6.1 iptables

iptables 是強(qiáng)大的包過濾工具。 iptables 通過一系列規(guī)則來過濾、處理數(shù)據(jù)包,能夠?qū)崿F(xiàn)防火墻、NAT等功能。

當(dāng)一個(gè)網(wǎng)絡(luò)包進(jìn)入到主機(jī)之前,會(huì)經(jīng)過一系列的 iptables 規(guī)則檢查,如何通過則接受,否則就丟棄,iptables 的規(guī)則由多個(gè)表組成,每個(gè)表又由多條鏈構(gòu)成,整體比較復(fù)雜,對(duì)于這個(gè)工具,我們 后面再出一篇文章來進(jìn)行詳細(xì)講解。

6.2 ipset

ipset 是一個(gè)輔助 iptables 的工具,通常用在限制多個(gè) IP 的場(chǎng)景下,使用 ipset,可以將多個(gè) IP 放入一個(gè)集合,然后 iptables 針對(duì)這個(gè)集合做限制,這樣可以大大提高效率。 ipset除了可以集合 IP 外,還可以集合 網(wǎng)段、MAC、端口、網(wǎng)卡等。

常用操作比如:

創(chuàng)建一個(gè) ipset:

ipset create blacklist hash:ip
  • blackliset 是集合名稱
  • hash 是存儲(chǔ)類型,還支持 bitmap、list 等
  • ip 是存儲(chǔ)類型,可以是 MAC、端口等

往集合中增加項(xiàng):

ipset add blacklist 192.168.10.2

從集合中移除項(xiàng):

ipset del blacklist 192.168.10.2

還可以指定超時(shí)時(shí)間限制:

ipset create blacklist hash:net timeout 60

07 域名相關(guān)

7.1 host

host 命令是域名分析查詢工具,用來測(cè)試域名系統(tǒng)工作是否正常。

比如查看百度域名信息:

[root@by ~] host www.baidu.comwww.baidu.com is an alias for www.a.shifen.com.www.a.shifen.com has address 14.215.177.38www.a.shifen.com has address 14.215.177.39

7.2 nslookup

nslookup 用于交互式域名解析,查看域名解析是否正常,在網(wǎng)絡(luò)故障的時(shí)候用來診斷網(wǎng)絡(luò)問題。

查看 google.com 的 DNS 地址:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

查看使用的 DNS 服務(wù)器地址:

[root@by ~]# nslookup> serverDefault server: 8.8.8.8Address: 8.8.8.8#53Default server: 8.8.4.4Address: 8.8.4.4#53

7.3 dig

dig 命令也是域名解析工具,但是比 nslookup 提供的更全面:

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

7.4 whois

whois 用于查看域名所有者的信息,比如注冊(cè)郵箱、手機(jī)號(hào)碼、域名服務(wù)商等。

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

比如,查看 coolshell.cn 這個(gè)域名是陳皓在萬網(wǎng)注冊(cè)的,注冊(cè)時(shí)間是 2009 年,注冊(cè)郵箱是 haoel@hotmail.com。

08 抓包相關(guān)

8.1 tcpdump

tcpdump 是 Linux 下最為強(qiáng)大的抓包工具。之前寫過一篇完整的文章,詳細(xì)請(qǐng)看這里:

Linux 網(wǎng)絡(luò)命令必知必會(huì)之 tcpdump,一份完整的抓包指南請(qǐng)查收!

09 虛擬設(shè)備

虛擬設(shè)備指的是針對(duì) tap/tun、veth-pair、bridge、ovs 等設(shè)備的工具。

對(duì)于這些設(shè)備的操作命令,都隸屬于 ip 命令,比如 tap/tun 設(shè)備是 ip tuntap、veth-pair 和 bridge 是 ip link和 ip netns。

除此之外,還有一些相關(guān)的輔助工具。

9.1 tunctl

tunctl 實(shí)現(xiàn)和 ip tuntap 類似,用來創(chuàng)建 tap/tun 設(shè)備。

默認(rèn)創(chuàng)建 tap 接口:

tunctl

以上等價(jià)于 tunctl-p

為用戶 user 創(chuàng)建一個(gè) tap 接口:

# tunctl -u user

創(chuàng)建 tun 接口:

tunctl -n

刪除接口:

# tunctl -d tap0

9.2 brctl

brctl 用來操作 bridge 網(wǎng)橋,可用于查看網(wǎng)橋、創(chuàng)建網(wǎng)橋、把網(wǎng)卡加入網(wǎng)橋等。

[root@by ~]# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000000000000 no

OVS 是網(wǎng)橋的第三方開源實(shí)現(xiàn),它自帶一套命令集,有興趣的讀者可以進(jìn)一步研究下。

10 總結(jié)

以上便是平時(shí)常用的網(wǎng)絡(luò)工具集合,除此之外,其實(shí)還有很多,推薦大家重點(diǎn)掌握以上這些,如有不懂的地方,man 一下就清楚了。

除了命令之外,跟網(wǎng)絡(luò)相關(guān)的還有一些重要文件,比如:

  • /etc/hosts:域名到 IP 地址的映射。
  • /etc/networks:網(wǎng)絡(luò)名稱到 IP 地址的映射。
  • /etc/resolv.conf:DNS域名地址
  • /etc/protocols:協(xié)議名稱到協(xié)議編號(hào)的映射。
  • /etc/services:TCP/UDP 服務(wù)名稱到端口號(hào)的映射。

NDK基礎(chǔ)開發(fā)流程—Linux流程

這是一份你需要的Linux 網(wǎng)絡(luò)命令大全

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多