Linux網絡信息(含ssh服務和rsync)

73.telnet:測試端口連通性

用法:telnet ?主機名或IP 端口號

測試目標主機的指定端口是否開放,檢查網絡服務連通性。

eg:

telnet www.baidu.com 80

# 說明:

# - 如果連接成功,顯示 "Connected to ..."。

# - 如果失敗,顯示 "Connection refused" 或 "Unable to connect"。

這會測試百度的 HTTP 服務(80 端口)是否可以連接。

常用場景:

測試服務器的特定服務是否正常運行。

檢查防火墻是否阻止了指定端口。


74.tcpdump:網絡數據包捕獲工具

用法:tcpdump ?[選項] ?[過濾條件]

強大的網絡抓包工具,支持實時查看或保存數據包,用于分析網絡問題。

# tcpdump 常用選項:

# -i:指定監聽的網絡接口(如 eth0,ens33)。

# -w:將捕獲的數據包保存到文件(如 capture.pcap)。

# -r:從文件中讀取并解析數據包(如讀取保存的 pcap 文件)。

# -n:不解析主機名和服務名稱,直接顯示 IP 和端口號。

# -nn:同時禁用主機名和端口解析,顯示數字地址和端口號。

# -c:限制捕獲的數據包數量(如 -c 10 表示捕獲 10 個包后退出)。

# -X:顯示數據包的十六進制和 ASCII 內容。

# -A:以 ASCII 格式顯示數據包內容(適合查看 HTTP 數據)。

# -v:顯示數據包的詳細信息

# 1.捕獲指定接口上的所有數據包

tcpdump -i eth0

# 2.捕獲并保存數據包到文件

tcpdump -i eth0 -w capture.pcap

# 3.捕獲來自特定 IP 的數據包

tcpdump -i eth0 src 192.168.1.100

# 4.捕獲目標 IP 的數據包

tcpdump -i eth0 dst 192.168.1.200

# 5.捕獲特定端口(如 80)上的流量

tcpdump -i eth0 port 80

# 6.捕獲來自特定源 IP 且目標端口為 80 的數據包,并保存到文件 capture.pcap 里

tcpdump -i eth0 src 192.168.1.100 and dst port 80 -w capture.pcap -nn -v # 比較常用!

·抓取數據包: 用 tcpdump -i 接口 監聽網絡流量。

·保存數據分析: 用 -w 保存為文件,配合 Wireshark 等工具分析。

·過濾特定流量: 配合 src、dst 或 port 篩選數據包。

·查看詳細信息: 用 -v 或更詳細的 -vv 輸出抓包細節。


75.nc (Netcat):網絡工具的瑞士軍刀

用法:nc 選項 [主機名或IP] [端口號]

支持 TCP 和 UDP 協議,用于網絡調試、文件傳輸、服務模擬等。

# nc 常用選項:

# -l:監聽模式,用于在本地創建服務器,等待客戶端連接。

# -z:掃描模式,檢查端口是否開放,不發送任何數據。

# -v:啟用詳細模式,輸出更多的調試信息。

# -u:使用 UDP 協議進行連接,而不是默認的 TCP。

# -p:指定源端口。

# -w:設置超時時間,單位為秒。

# -n:禁用 DNS 解析,直接使用 IP 地址,而不是域名。

# -v :詳細輸出,顯示連接過程中的所有信息。

# 1.連接到遠程主機的指定端口(TCP連接)

nc example.com 80

# 2.監聽本地端口(創建服務器,等待連接)

nc -l 12345

# 3.通過 netcat 發送文件到遠程主機

# 在遠程機器上執行:nc -l 12345 > received_file.txt

# 在本地機器上執行:nc remote_host 12345 < file_to_send.txt

# 4.使用 UDP 協議發送數據

nc -u -l 12345 ?# 監聽 UDP 端口 12345

nc -u remote_host 12345 ?# 發送數據到指定 UDP 端口

# 5.測試端口是否開放(可以用來檢查某些端口是否能夠連接)

nc -zv example.com 80 443

# 6.掃描端口范圍(測試哪些端口開放)

nc -zv example.com 1-1000

# 7.通過 nc 實現簡易的端到端聊天

# 在一臺機器上執行:nc -l 12345

# 在另一臺機器上執行:nc localhost 12345

# 然后你就可以發送消息了

# 8.創建一個簡單的 HTTP 請求

echo -e "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80

# 9.發送數據并接收響應

echo "Hello, World!" | nc example.com 80

76.ip/ifconfig:查看ip地址

用法:ip ?[命令] ?[選項]

lo:訪問自己

ens33:訪問別人

# 1. 查看ip地址(類似ifconfig

ip addr show/ip -a

# 2. 查看路由表

ip route show

# 3. 啟用網絡接口

sudo ip link set eth0 up

# 4. 禁用網絡接口

sudo ip link set eth0 down

使用ifconfig需要先下載yum install net-tools(eth0改為ens33)

ifconfig ens33:0 192.168.8.11/24 down


補充一點:修改ip地址

使用ip命令(推薦)

1. 臨時添加一個新 IP 地址(不刪除原有地址)

ip addr add 192.168.1.100/24 dev eth0

192.168.1.100:新 IP 地址

/24:子網掩碼(等同于 255.255.255.0)

eth0:網絡接口名稱(需替換為實際接口名,如ens33)

2. 臨時修改(替換)當前 IP 地址

ip addr flush dev eth0 ?????????????????????# 清空當前所有IP配置

ip addr add 192.168.1.101/24 dev eth0 ??# 添加新IP

3. 臨時添加第二個 IP 地址(多 IP 配置)

ip addr add 192.168.1.102/24 dev eth0 label eth0:1

eth0:1:虛擬接口名稱(可自定義,用于區分多個 IP)

4. 激活 / 禁用網絡接口

ip link set eth0 up ???# 啟用接口

ip link set eth0 down ?# 禁用接口

使用ifconfig命令(傳統方法,部分系統已棄用)

1. 臨時添加一個新 IP 地址

ifconfig eth0:1 192.168.1.103 netmask 255.255.255.0 up

eth0:1:虛擬接口名稱

192.168.1.103:新 IP 地址

2. 臨時修改(替換)當前 IP 地址

ifconfig eth0 192.168.1.104 netmask 255.255.255.0

3. 激活 / 禁用網絡接口

ifconfig eth0 up ?????# 啟用接口

ifconfig eth0 down ??# 禁用接口

注意事項

臨時生效:上述方法配置的 IP 地址在重啟網絡服務或系統后會丟失。若需永久保存,需修改配置文件(如/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-eth0)。

權限要求:執行上述命令需要 root 權限(需使用sudo或切換到 root 用戶)。

檢查接口名稱:使用ip a或ifconfig查看實際網絡接口名稱(如eth0、ens33、enp0s3等)。

沖突避免:確保新 IP 地址不在 DHCP 分配范圍內,避免與其他設備沖突。

驗證配置

配置完成后,使用以下命令檢查 IP 地址是否生效:

ip a show eth0 ???????# 查看接口詳細信息

ping 192.168.1.1 ????# 測試網絡連通性


77.nmtui:半圖形化網絡管理命令

Network Manage tui

·修改ip地址 ?等價于vim ?/etc/sysconfig/network-script/ifcfg-ens33

·重啟網卡 ??????????systemctl ?restart ?network

·修改主機名 ????????hostnamectl ?set-hostname 主機名


78.ssh:安全的遠程連接

·通過非對稱加密,實現數據傳輸的安全性。

·ssh協議

SSH(Secure Shell)協議是一種用于在網絡中實現安全遠程登錄、文件傳輸和命令執行的加密網絡協議。它通過加密技術保護數據在傳輸過程中的安全性,有效替代了傳統的明文傳輸協議(如 Telnet、FTP),廣泛應用于服務器管理、網絡設備配置等場景。

一、SSH 協議的核心功能

遠程登錄

允許用戶通過加密連接登錄到遠程服務器,就像在本地操作一樣執行命令。例如,管理員可以通過 SSH 登錄到云服務器進行配置。

安全文件傳輸

基于 SSH 協議的衍生工具(如 SCP、SFTP)支持加密的文件上傳和下載,避免文件內容被竊聽或篡改。

端口轉發(隧道)

可建立加密 “隧道”,將其他協議(如 HTTP、MySQL)的流量通過 SSH 傳輸,實現安全的跨網絡訪問(例如訪問內網數據庫)。

遠程命令執行

支持在本地直接向遠程服務器發送命令并獲取結果,無需交互式登錄(常用于腳本自動化)。

二、SSH 的加密原理

SSH 協議通過非對稱加密和對稱加密結合的方式保證安全性,主要過程如下:

握手階段

客戶端與服務器建立 TCP 連接后,協商 SSH 版本和加密算法(如 AES、ChaCha20)。

服務器向客戶端發送公鑰,客戶端驗證公鑰合法性(首次連接時需手動確認)。

密鑰交換

客戶端生成一個臨時對稱密鑰,用服務器的公鑰加密后發送給服務器。

服務器用私鑰解密得到對稱密鑰,此后雙方使用該密鑰對所有通信內容進行加密(對稱加密效率更高)。

身份認證

密碼認證:客戶端發送加密后的密碼,服務器驗證。

密鑰認證(更安全):客戶端生成一對密鑰(公鑰 + 私鑰),公鑰存放在服務器,登錄時服務器用公鑰驗證客戶端私鑰,無需輸入密碼。

ssh服務屬于c/s ?Client/Server;

客戶端遠程連接:

ssh ?用戶名@ip/主機名/域名 ?[-p 端口號 (22)]

是否同意加密?yes

輸入對方密碼

exit 退出

允許指定用戶進行登錄(白名單)

在/etc/ssh/sshd_config 配置文件中設置AllowUsers選項,

在配置文件末尾添加行格式如下(例如允許用戶tom通過192.168.8.30登錄)。

AllowUsers tom@192.168.8.30

配置了指定用戶或者用戶組允許登錄后,默認拒絕其他所有用戶或者用戶組。

sshd:服務端,安裝在服務器上(CentOS默認安裝)

CentOS:yum ?install ?openssh-server

Ubuntu:sudo ?apt ?install ?openssh-server

修改sshd的配置文件:

vim ?/etc/ssh/sshd_config

systemctl ?restart ?sshd ??#重啟服務

·跳板機:跳板機(Jump Server)是一種部署在網絡邊界或內部網絡中的專用服務器,作為用戶訪問目標設備(如生產服務器、數據庫、網絡設備等)的中間節點,起到集中管控、安全審計、權限隔離的作用。

密鑰驗證

客戶端的公鑰存放到服務端,每次登錄通過公鑰進行驗證,省略密碼。

  1. 在客戶端生成密鑰對;私鑰保存在本地,保證私鑰的安全;

ssh-keygen ???????????????#默認三個回車

  1. 將公鑰發送到服務端/root/.ssh/authorized_keys進行保存;

ssh-copy-id ?用戶名@ip ??#輸入密碼(以下ip都是服務器的ip)

  1. 之后進行登錄自動識別身份;

ssh ?root@192.168.8.20

XShell免密登錄

1、工具——新建用戶密鑰生成向導——默認,下一步——完成

屬性里可以看公鑰,復制粘貼到服務器,vim .ssh/authorized_keys第二行

2、工具——身份驗證配置文件——密鑰類型:RSA;密鑰長度:2048;下一步——默認,下一步——點剛剛設置的,密鑰很多個就點第一個——點公鑰,把下面一長串復制到要登陸的服務器里面(服務器打開vim ?.ssh/authorized_keys如何粘貼到第二行)——點菜單欄里的斷開連接(在編輯下面)——用戶名輸入root——選擇密鑰登錄(public key),直接確定。


79.scp:遠程文件復制(和cp格式相似,只是改成了遠程的路徑)

命令格式:

上傳:將本地文件發送到目標服務器上;

scp ?[-r] ?原文件 ?root@ip:/目標路徑

客戶端 ??服務器

下載:將服務器上的文件下載到本地;

scp ?[-r] ?root@ip:/目標路徑 ?本地目錄

服務器 ??????????????客戶端

scp是全量復制:從頭到尾全部復制,速度相對較慢


80.rsync:高效文件同步工具

·rsync是增量復制、差異復制,支持增量傳輸,只同步變化的部分,比 scp 更高效。

只復制增加和修改的文件,一般用來做備份

·格式:rsync? ?[選項]? ?本地文件? ?root@ip:路徑

? ? ? ? ? ? rsync? ?[選項]? ?root@ip:文件? ?本地路徑

常用選項:

-a,--archive歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD。

-v,--verbose詳細模式輸出。

-z:--compress對備份的文件在傳輸時進行壓縮處理。

--delete:刪除目標中源目錄不存在的文件。

-e:指定遠程傳輸方式(如 SSH)。

# rsync同步目錄或文件

rsync -avz --delete redis-6.2.14 root@192.168.8.20:/root


問題:如何實現實時同步?

接下來,我們將配置rsync和inotify來實現實時文件同步:

1.生成SSH密鑰對并上傳公鑰 在服務端生成SSH密鑰對,并將公鑰上傳到客戶端,以便實現無密碼的SSH連接。

2.創建同步腳本 在服務端創建一個名為sync.sh的腳本文件,并添加以下內容:

#!/bin/bash

while inotifywait -r -e modify,create,delete,move /data/;do

??rsync -avz /data/ root@192.168.8.11:/opt/data/

done

3.授予腳本執行權限并執行

chmod +x sync.sh

./sync.sh ??##腳本會一直運行,并在`/data/`目錄中的文件發生變化時進行實時同步

4.測試同步

在服務端/data目錄下新建名為12345的文件,服務端提示/data創建了12345文件,并開始發送增量文件。 切換到客戶端可以看到/data/目錄下所有文件已實時同步到客戶端/opt/data

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90021.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90021.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90021.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【PTA數據結構 | C語言版】我愛背單詞

本專欄持續輸出數據結構題目集&#xff0c;歡迎訂閱。 文章目錄題目代碼題目 作為一個勤奮的學生&#xff0c;你在閱讀一段英文文章時&#xff0c;是否希望有個程序能自動幫你把沒有背過的生詞列出來&#xff1f;本題就請你實現這個程序。 輸入格式&#xff1a; 輸入第 1 行給…

如何使用電腦連接小米耳機(紅米 redmi耳機)

如何使用電腦連接小米&#xff08;紅米 redmi&#xff09;耳機Redmi耳機連接電腦的具體步驟如下注意事項和常見問題解決方法&#xff1a;Redmi耳機連接電腦的具體步驟如下 打開耳機倉蓋&#xff1a; 首先&#xff0c;打開Redmi耳機的充電倉蓋&#xff0c;但不需要取出耳機。進…

排序算法—交換排序(冒泡、快速)(動圖演示)

目錄 十大排序算法分類?編輯 冒泡排序 算法步驟&#xff1a; 動圖演示&#xff1a; 性能分析&#xff1a; 代碼實現&#xff08;Java&#xff09;&#xff1a; 快速排序&#xff08;挖坑法&#xff09; 算法步驟&#xff1a; 動圖演示&#xff1a; 性能分析&#xff1…

2023 年 5 月青少年軟編等考 C 語言八級真題解析

目錄 T1. 道路 思路分析 T2. Rainbow 的商店 思路分析 T3. 冰闊落 I 思路分析 T4. 青蛙的約會 思路分析 T1. 道路 題目鏈接:SOJ D1216 N N N 個以 1 ~ N 1 \sim N 1~N 標號的城市通過單向的道路相連,每條道路包含兩個參數:道路的長度和需要為該路付的通行費(以金幣的數…

【vue-4】深入理解 Vue 3 中的 v-for 指令

Vue.js 作為現代前端框架的代表之一&#xff0c;其模板指令系統提供了強大的數據綁定和渲染能力。其中&#xff0c;v-for 指令是 Vue 中最常用且最重要的指令之一&#xff0c;它允許我們基于數據源循環渲染元素或組件。在 Vue 3 中&#xff0c;v-for 保留了一貫的簡潔語法&…

《R for Data Science (2e)》免費中文翻譯 (第1章) --- Data visualization(1)

寫在前面 本系列推文為《R for Data Science (2)》的中文翻譯版本。所有內容都通過開源免費的方式上傳至Github&#xff0c;歡迎大家參與貢獻&#xff0c;詳細信息見&#xff1a; Books-zh-cn 項目介紹&#xff1a; Books-zh-cn&#xff1a;開源免費的中文書籍社區 r4ds-zh-cn …

界面組件DevExpress WPF中文教程:Grid - 如何完成節點排序和移動?

DevExpress WPF擁有120個控件和庫&#xff0c;將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序&#xff0c;這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件…

【Prometheus+Grafana篇】監控通過Keepalived實現的MySQL HA高可用架構

&#x1f4ab;《博主主頁》&#xff1a;    &#x1f50e; CSDN主頁__奈斯DB    &#x1f50e; IF Club社區主頁__奈斯、 &#x1f525;《擅長領域》&#xff1a;擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控&#xff1b;并對…

k8s:利用kubectl部署postgis:17-3.5

1.離線環境CPU:Hygon C86 7285 32-core Processor 操作系統&#xff1a;麒麟操作系統 containerd&#xff1a;1.7.27 Kubernetes:1.26.12 KubeSphere:4.1.2 kubekey&#xff1a;3.1.10 Harbor:2.13.1 Postgis:17-3.52.創建并執行postgresql-headless.yaml2.1創建apiVersion: v1…

Mysql(存儲過程)

目錄 介紹 特點 存儲過程創建 系統變量(不重要) 用戶變量 局部變量 if 判斷 參數&#xff08;in, out, inout) case while repeat loop 游標和條件處理程序-handler 存儲函數 為了防止以后忘記&#xff0c;反復去看視頻浪費時間&#xff0c;特寫一篇 介紹 存儲過程…

Effective Python 第14條: 用sort方法的key參數來表示復雜的排序邏輯

一、引言&#xff1a;Python排序功能的重要性 在Python開發中&#xff0c;排序功能是一個常見的需求。無論是處理數據、優化算法&#xff0c;還是提升用戶體驗&#xff0c;排序都是不可或缺的一部分。Python的列表內置了sort方法&#xff0c;提供了靈活的排序功能。然而&#…

react+antd 可拖拽模態框組件

DraggableModal 可拖拽模態框組件使用說明 概述 DraggableModal 是一個基于 dnd-kit/core 實現的可拖拽模態框組件&#xff0c;允許用戶通過拖拽標題欄來移動模態框位置。該組件具有智能邊界檢測功能&#xff0c;確保模態框始終保持在可視區域內。 功能特性 ? 可拖拽移動&…

MySQL的基本操作及相關python代碼

下面為你介紹 MySQL 的基本操作,以及對應的 Python 代碼實現。我會先介紹 SQL 基本操作,再展示如何用 Python 連接 MySQL 并執行這些操作。 一、MySQL 基本操作(SQL 語句) 1. 連接數據庫 bash mysql -u root -p2. 創建數據庫 sql CREATE DATABASE testdb;3. 使用數據…

Armbian(斐訊N1)安裝xfce桌面以及遠程環境

安裝xfce桌面以及vncserver(遠程連接) 安裝xfce桌面 apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils ubuntu的安裝gdm3&#xff0c; apt install gdm3 debian安裝lightdm。 apt install lightdm 安裝vnc server apt-get install tightvncserver 中文字體…

【Oracle】Oracle 11g打補丁時遇到opatch apply命令無法識別

?? 1. 使用完整路徑執行命令 問題原因&#xff1a;若未將$ORACLE_HOME/OPatch加入系統PATH環境變量&#xff0c;直接輸入opatch apply會因系統無法定位命令而報錯。 解決方案&#xff1a; 改用絕對路徑執行&#xff1a; $ORACLE_HOME/OPatch/opatch apply例如&#xff1a; /u…

單例模式詳細講解

一.定義單例模式是一種創建型設計模式&#xff0c;確保一個類只有一個實例&#xff0c;并提供一個全局訪問點特點&#xff1a;1.構造函數和析構函數私有化2.禁用拷貝構造函數和賦值運算符重載&#xff08;delete&#xff09;3.利用靜態成員函數和靜態成員變量來給外界提供訪問二…

KORGym:評估大語言模型推理能力的動態游戲平臺

KORGym&#xff1a;評估大語言模型推理能力的動態游戲平臺 現有評估基準多受領域限制或 pretraining 數據影響&#xff0c;難以精準測LLMs內在推理能力。KORGym平臺應運而生&#xff0c;含50余款游戲&#xff0c;多維度評估&#xff0c;本文將深入解析其設計、框架、實驗及發現…

ISPDiffuser文章翻譯理解

ISPDiffuser: Learning RAW-to-sRGB Mappings with Texture-Aware Diffusion Models and Histogram-Guided Color Consistency翻譯 Type: Conference paper Author: Yang Ren1,4, Hai Jiang1,4, Menglong Yang1,2,?, Wei Li1,2, Shuaicheng Liu3,4,? Select: ???????…

C++線程池執行步驟分析,總結線程池流程

線程池流程總結&#xff1a;1、構造函數中創建線程&#xff0c;并添加到線程池&#xff08;構造函數返回時&#xff0c;線程自動啟動&#xff0c;并停在等待wait&#xff1a;從線程池取出一個任務處&#xff09;&#xff1b; 2、主線程中添加任務&#xff0c;到任務隊列。并用“…

Java 通過 HttpURLConnection發送 http 請求

問題&#xff1a; 在調試 kill 接口的時候&#xff0c;對方的服務用的是 Django RestFramework 框架提供的接口&#xff0c;用 python 請求時得到的內容如下&#xff1a; ? ~ python3 test.py <Response [200]> "true" // 對應的代碼是 print(response, r…