自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

12個不可不知的Linux網絡命令,精通Linux網絡編程

系統(tǒng) Linux
開發(fā)人員和DevOps工程師經常遇到的一個常見錯誤是“綁定失敗錯誤:地址已在使用中”??梢允褂靡韵旅钫业脚c端口關聯的進程ID,然后可以終止該進程以釋放端口。

在Linux系統(tǒng)中,網絡設置、問題查找和故障修復是系統(tǒng)管理的重要技能,對于開發(fā)人員來說,了解Linux故障排除命令對于日常任務十分有幫助。

本文將介紹在Linux系統(tǒng)中已經可用的重要的網絡和故障排除命令。

以下是已經存在于Linux機器上的故障排除命令列表:

命令                  描述
| hostname     | 檢查和設置服務器的主機名
| host         | 檢索給定主機的DNS詳細信息
| ping         | 使用ICMP檢查遠程服務器的可達性,并顯示往返時間
| curl         | 用于數據傳輸的通用工具,用于故障排除網絡問題
| wget         | 下載文件,解決代理連接和連通性問題
| ip           | 替代ifconfig,配置和檢索有關網絡接口的信息
| arp          | 管理和查看ARP緩存
| ss/netstat   | 檢查端口和Unix套接字上的連接和PID
| traceroute   | 使用ICMP查找到目標服務器的躍點,并顯示躍點之間的時間
| mtr          | 結合ping和traceroute,提供額外的信息,如中間主機
| dig          | 檢索與域名相關的DNS記錄
| nslookup     | 類似于dig,用于DNS查詢
| nc           | 用于調試TCP/UDP套接字的實用工具
| telnet       | 在端口上測試遠程連接
| route        | 檢索路由表信息
| tcpdump      | 捕獲用于分析網絡問題的網絡數據包
| lsof         | 列出打開的文件和關聯的進程信息

本文中提到的每個命令或實用程序都帶有各種選項和標志。要了解這些選項和標志,可以參考每個命令的手冊頁。手冊頁提供了有關命令功能及其使用方法的詳細信息。只需在終端中鍵入man,然后輸入命令即可訪問指南,并查看適合大家需求的可用選項和標志。

1 hostname

hostname命令可幫助檢查機器的當前主機名,并支持給其指定新的主機名。

要查看當前名稱,請鍵入:

hostname

如果想更改名稱,可以使用以下方式使用hostname命令:

sudo hostname example.com

注意:使用此命令進行的更改是臨時的。在重新啟動機器后,會恢復為保存在文件中的原始名稱(例如/etc/hostname)。

但是,如果想永久更改主機名,可以使用/etc/hosts文件或服務器上存在的hostname文件:

  • 對于Ubuntu,請編輯/etc/hostname file。
  • 對于RHEL、CentOS和Fedora,請在 /etc/sysconfig/network file中進行更改。

2 ping

ping網絡工具用于檢查遠程服務器是否可達。其主要目的是驗證連接性并排除網絡問題。

它提供以下信息:

  • 發(fā)送和接收的字節(jié)數
  • 發(fā)送、接收和丟失的數據包
  • 往返時間的大致時間(以毫秒為單位)

ping命令的語法:ping IPADDRESS or DOMAINANME

例如:

ping medium.com

要ping一個IP地址:

ping 1.1.1.1

如果想在不使用Ctrl+C的情況下限制ping輸出,可以使用帶有數字的-c標志,如下所示:

ping -c 1 medium.com

3 curl

curl工具主要用于與服務器之間傳輸數據。然而,它也非常適用于網絡故障排除。

對于故障排除,curl支持多種協(xié)議,如DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET和TFTP。

例如,可以使用curl通過telnet檢查22端口的連接性:

curl -v telnet://192.168.33.10:22

檢查FTP連接:

curl ftp://ftptest.net

還可以使用curl來排查Web服務器的連接性:

curl http://medium.com -I

在這些示例中,curl用于驗證不同端口和協(xié)議上的連接性,使其成為網絡診斷的通用工具。

4 wget

wget命令主要用于獲取網頁,但也可以幫助排查網絡問題。

例如,可以使用wget來排查通過代理服務器的連接:

wget -e use_proxy=yes http_proxy= http://externalsite.com

要檢查網站是否可用,可以獲取其文件:

wget www.google.com

在這些示例中,wget擴展了其功能,不僅可以獲取網頁,還可以用于診斷網絡問題,如代理服務器連接和網站可用性。

5 IP(ifconfig)

ip命令用于顯示和管理路由和網絡接口。它是ifconfig的更新版本。雖然ifconfig在所有系統(tǒng)中都可以工作,但建議使用ip命令以獲得更好的功能。

以下是使用ip命令的幾個示例:

顯示網絡設備和配置:

ip addr

可以將此命令與管道和grep結合使用,以獲取特定信息,例如eth0接口的IP地址。這對于需要動態(tài)獲取IP地址的自動化工具特別有幫助。

例如,要獲取eth0網絡接口的IP地址:

ip a | grep eth0 | grep "inet" | awk -F" " '{print $2}'

獲取特定接口的詳細信息:

ip a show eth0

列出路由表:

ip route
ip route list

這些示例說明了如何使用ip命令顯示有關網絡設備、配置和路由表的詳細信息。

6 arp

ARP(地址解析協(xié)議)顯示了系統(tǒng)與本地網絡的IP地址和MAC地址之間的緩存表。

arp

示例輸出:

vagrant@somelab:~$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.2.3                 ether   52:54:00:12:35:03   C                     eth0
192.168.33.1             ether   0a:00:27:00:00:00   C                     eth1
10.0.2.2                 ether   52:54:00:12:35:02   C                     eth0

7 ss(netstat)

ss命令可以作為netstat的替代品使用,但在所有系統(tǒng)上仍然可以使用netstat命令。

使用ss命令,可以獲取比netstat命令更多的信息。ss命令速度快,因為它從內核用戶空間獲取所有信息。

下面來看一下ss命令的幾個用法。

7.1 列出所有連接

"ss"命令將列出計算機上的所有TCP、UDP和Unix套接字連接。

ubuntu@medium:~$ ss
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port
u_str  ESTAB      0      0                    * 7594                  * 0
u_str  ESTAB      0      0      @/com/ubuntu/upstart 7605                  * 0  
u_str  ESTAB      0      0                    * 29701                 * 0
u_str  ESTAB      0      0      /var/run/dbus/system_bus_socket 29702                 * 0
tcp    ESTAB      0      400      172.31.18.184:ssh         1.22.167.31:61808

ss命令的輸出會很大,可以使用"ss | less"命令使輸出可滾動。

7.2 過濾TCP、UDP和Unix套接字

如果要過濾掉TCP、UDP或UNIX套接字的詳細信息,請使用"ss"命令的"-t"、"-u"和"-x"標志。它將顯示所有連接到特定端口的已建立連接。如果要使用"a"和特定標志同時列出已連接和監(jiān)聽端口,請參考下面的示例。

ss -ta
ss -ua
ss -xa

7.3 列出所有監(jiān)聽端口

要列出所有監(jiān)聽端口,請使用"ss"命令的"-l"標志。要列出特定的TCP、UDP或UNIX套接字,請使用"-t"、"-u"和"-x"標志與"-l"一起,如下所示。

ubuntu@medium:~$ ss -lt
State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
LISTEN     0      128                     *:ssh                      *:*
LISTEN     0      50                     :::http-alt                 :::*
LISTEN     0      50                     :::55857                   :::*
LISTEN     0      128                    :::ssh                     :::*
LISTEN     0      50                     :::53285                   :::*
ubuntu@medium:~$

7.4 列出所有已建立連接

要列出所有已建立的端口,請使用狀態(tài)已建立標志,如下所示。

ss -t -r state established

要列出所有處于監(jiān)聽狀態(tài)的套接字,

ss -t -r state listening

8 mtr

mtr工具是用于排查網絡瓶頸的網絡診斷工具。它結合了ping和traceroute的功能。

例如,以下命令實時顯示traceroute輸出。

mtr google.com

mtr報告

可以使用"--report"標志生成報告。運行mtr報告時,它會向目標發(fā)送10個數據包并生成報告。

mtr -n --report google.com

9 dig

如果有與DNS查找相關的任務,可以使用“dig”命令查詢DNS名稱服務器。

9.1 使用dig獲取所有DNS記錄

下面的命令返回twitter.com的所有DNS記錄和TTL信息

dig twitter.com ANY

使用+short參數可以獲得無冗余的輸出。

dig google.com ANY +short

9.2 使用dig獲取特定的DNS記錄

例如,如果想獲取特定域名的A記錄,可以使用dig命令。使用+short參數可以提供無冗余的信息。

dig www.google.com A +short

類似地,可以使用以下命令分別獲取其他記錄信息。

dig google.com CNAME +short
dig google.com MX +short
dig google.com TXT +short
dig google.com NS +short

9.3 使用dig進行反向DNS查找

可以使用以下命令使用dig進行反向DNS查找。將8.8.8.8替換為所需的IP地址。

dig -x 8.8.8.8

10 nc(netcat)

nc(netcat)命令被稱為網絡命令中的瑞士軍刀。

使用nc,可以檢查特定端口上運行的服務的連接性。

例如,要檢查ssh端口是否打開,可以使用以下命令。

nc -v -n 192.168.33.10 22

netcat還可以用于TCP/UDP數據傳輸和端口掃描。

在云環(huán)境中不推薦進行端口掃描。您需要請求云服務提供商在您的環(huán)境中執(zhí)行端口掃描操作。

11 telnet

telnet命令用于故障排除端口上的TCP連接。

要使用telnet檢查端口連接性,請使用以下命令。

telnet 10.4.5.5 22

12 lsof

lsof是個在日常Linux故障排除中使用的命令。對于任何與Linux系統(tǒng)工作的人來說,這個命令同樣重要。

要列出所有打開的文件,請執(zhí)行l(wèi)sof命令。

開發(fā)人員和DevOps工程師經常遇到的一個常見錯誤是“綁定失敗錯誤:地址已在使用中”??梢允褂靡韵旅钫业脚c端口關聯的進程ID,然后可以終止該進程以釋放端口。

lsof -i :8080

本文介紹了修復和設置網絡所需的重要Linux命令。每個命令都有很多功能,讀者可以根據需要深入挖掘。

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2020-11-30 13:12:04

Linux文本命令

2015-07-30 17:30:43

Linux命令

2015-01-15 09:34:28

2012-03-20 15:06:12

Linux服務器服務器監(jiān)控

2018-10-07 23:27:03

2024-09-23 21:05:45

2011-11-10 09:40:20

Linux網絡服務模型

2011-11-08 13:12:29

Linux系統(tǒng)網絡服務器并發(fā)服務器

2022-02-16 08:01:45

網絡安全趨勢

2021-01-28 10:17:54

人工智能AI機器學習

2013-07-25 10:27:45

Linux系統(tǒng)管理員sudo

2023-06-12 00:38:55

開源Java庫工具

2010-06-11 14:46:38

可路由協(xié)議

2024-03-21 08:57:39

語言軟件開發(fā)

2010-04-09 09:15:23

Linux管理員

2014-08-15 10:37:50

程序員編程工具

2023-09-20 09:00:00

2023-11-13 14:19:57

Golang編程語言

2023-09-22 12:14:33

2021-08-12 16:02:22

Jupyter NotPython命令
點贊
收藏

51CTO技術棧公眾號