免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
這是一份你需要的Linux 網絡命令大全

作為一名 IT 從業(yè)者,經常都要跟 Linux 打交道,其中網絡更是用得頻繁,掌握基本的網絡命令是必備的技能,更是提高我們工作效率的必備良器,今天這篇文章就來梳理下常用的網絡工具。因為梳理的命令比較多,所以文章自然不會深入介紹這些命令的用法,大家可以有個印象,然后學習工作中碰到了再具體去查好了。

總的來說,Linux 網絡命令涉及到這么幾塊:

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

01 網絡配置

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

1.1 ifconfig

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

查看網卡信息:

給網卡配置 IP 地址:

開關網卡:

ifconfig eth0 downifconfig eth0 up

1.2 ip

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

查看路由:

查看 arp 信息:

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

02 連通性探測

連通性探測意在使用工具探測兩個網絡節(jié)點之間的連通性,常用的有 ping、 telnet、 traceroute、 tracepath、 mtr 等工具。

2.1 ping

這個命令通常用來判斷網絡的連通性和網速情況,偶爾用來查看域名的 IP,比如:

可以看到百度對應域名的 IP。

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

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

2.2 telnet

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

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

2.3 traceroute & tracepath

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

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

類似的工具還有一個 tracepath。

2.4 mtr

mtr 全稱是 mytraceroute,是一個集大成的工具,它集成了 ping、 traceroute、 nslookup 的功能,診斷網絡問題非常方便。

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

常用參數(shù):

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

03 網絡連接

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

3.1 netstat

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

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

  • netstat -i 顯示網絡接口信息
  • netstat -s 顯示所有網絡協(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 找出程序運行的端口
  • netstat -an | grep ':80' 找出運行在指定端口的進程

3.2 ss

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

常用參數(shù):

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

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

3.3 lsof

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

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

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

3.4 netcat(nc)

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

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

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

04 流量統(tǒng)計

4.1 ifstat

ifstat 主要用來監(jiān)測主機網口的網絡流量,常用的選項包括:

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

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

4.2 sar

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

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

4.3 iftop

和 top、 iotop 是一個系列,它主要用來查看網絡流量。

05 交換與路由

5.1 arp

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

常見用法:

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

5.2 arping

查看本 LAN 內 IP 對應的主機 MAC 地址,以及 MAC 的占用問題。

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

5.3 vconfig

Linux vlan 配置命令,比如給某個接口增加兩個 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 增加/刪除路由表

比如添加一條默認路由:

route add default gw 192.168.1.1 dev eth0

06 防火墻

6.1 iptables

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

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

6.2 ipset

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

常用操作比如:

創(chuàng)建一個 ipset:

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

往集合中增加項:

ipset add blacklist 192.168.10.2

從集合中移除項:

ipset del blacklist 192.168.10.2

還可以指定超時時間限制:

ipset create blacklist hash:net timeout 60

07 域名相關

7.1 host

host 命令是域名分析查詢工具,用來測試域名系統(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 用于交互式域名解析,查看域名解析是否正常,在網絡故障的時候用來診斷網絡問題。

查看 google.com 的 DNS 地址:

查看使用的 DNS 服務器地址:

[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 提供的更全面:

7.4 whois

whois 用于查看域名所有者的信息,比如注冊郵箱、手機號碼、域名服務商等。

比如,查看 coolshell.cn 這個域名是陳皓在萬網注冊的,注冊時間是 2009 年,注冊郵箱是 haoel@hotmail.com。

08 抓包相關

8.1 tcpdump

tcpdump 是 Linux 下最為強大的抓包工具。之前寫過一篇完整的文章,詳細請看這里:

Linux 網絡命令必知必會之 tcpdump,一份完整的抓包指南請查收!

09 虛擬設備

虛擬設備指的是針對 tap/tun、veth-pair、bridge、ovs 等設備的工具。

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

除此之外,還有一些相關的輔助工具。

9.1 tunctl

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

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

tunctl

以上等價于 tunctl-p

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

# tunctl -u user

創(chuàng)建 tun 接口:

tunctl -n

刪除接口:

# tunctl -d tap0

9.2 brctl

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

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

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

10 總結

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

除了命令之外,跟網絡相關的還有一些重要文件,比如:

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

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

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
網絡常用配置和運維命令以及使用方法
局域網利用SSLSTRIP突破SSL嗅探密碼
DOS中的PING命令的幾種用法
網絡常見的9個命令
電腦網絡故障檢測與維護—常用DOS命令
Linux常用命令
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服