day26-計算機網絡-4

1. tcp的11種狀態

ss -ant
-a 表示看所有狀態
-n 表示不將ip解析為主機名
-t 表示tcp

1.1. closed狀態(客戶端、服務端)

  • 客戶端發起建立連接前的狀態
  • 服務端啟動服務前的狀態

1.2. listen狀態(服務端)

  • 服務端軟件運行的時候狀態:監聽狀態,服務端等待建立連接

1.3. syn_sent狀態(客戶端)

  • 客戶端發送SYN請求連接后,由closed狀態-->syn_sent狀態

1.4. syn_rcvd狀態(服務端)

  • 服務端收到客戶端SYN請求,回復了ACK,服務端狀態listen-->syn_rcvd(recevide)

1.5. established狀態(客戶端、服務端)

  • 客戶端收到了ACK,SYN后發出ACK,客戶端狀態由syn_sent-->established(建立連接)
  • 服務端收到客戶端的ACK后,服務端狀態變化為:established狀態

1.6. fin_wait1狀態(客戶端)

  • 客戶端先向服務端發送FIN報文,請求斷開連接,狀態由established狀態-->fin_wait1狀態

1.7. close_wait狀態(服務端)

  • 服務端收到FIN后向客戶端發送ACK,服務端狀態由established狀態-->close_wat狀態

1.8. fin_wait2狀態(客戶端)

  • 客戶端收到ACK后就由fin_wait1狀態-->fin_wait2狀態,此時連接已經斷開了一半,如果服務器還有數據要發送給客戶端,就會繼續發送

1.9. last_ack狀態(服務端)

  • 數據傳完后,服務端就發送FIN報文,請求斷開連接,此時服務器就由close_wait狀態-->last_ack狀態

1.10. time_wait狀態(客戶端、服務端)

  • 客戶端收到服務端的FIN后,給服務器發送ACK,此時客戶端進入time_wait狀態,再過2MSL的時間(MSL最大生存時間,一般是1分鐘)后,進入closed狀態,
  • 服務端收到ACK后也進入closed狀態

1.11. 特殊狀態closing

  • 客戶端發送FIN請求斷開連接后,由于網絡故障原因沒有收到服務端發送的ACK,直接收到了服務端發送來的FIN斷開連接請求,此時客戶端進入closing狀態

2. 查看tcp狀態

ss -ant
-a 查看所有狀態
-n 不反向解析
-t TCPss -lntup
netstat -lntup
-l 查看處于監聽狀態的服務
-n 不反向解析
-t TCP
-u UDP
-p 進程#統計TCP狀態
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rnk1

3. 面試題:查看端口是否存在

ss -lntupnetstat -lntuptelnet 10.0.0.210 80nmap -p 22,80 10.0.0.210filtered 過濾(防火墻攔截)lsof -i:22lsof 查看所有打開的文件信息

4. 查看網絡速度

iftop -nNBP -i ens33-n不將ip解析為主機名字-P顯示端口-N不將端口解析為服務名字-B將bit轉換為Byte-i指定網卡-ts 1非交互模式,每隔1S

5. 鏈路帶寬測試工具

  • ipref測試2點之間速度
#服務端開啟測試,等待客戶端連接
ipres -s#客戶端連接服務端測試帶寬速度
ipres -c 10.0.0.210

6. mtr命令

mtr www.baidu.commtr --tcp -r -c 2 www.baidu.com--tcp表示使用tcp協議-r表示生成報告模式(非交互模式),測試完顯示在屏幕上-c 2表示測試兩次

7. wireshark抓包過濾規則

7.1. 抓取指定協議

icmp  #ping 數據包
tcp
udp
http
https數據包:tls(http over tls)

7.2. 抓取指定端口

#過濾出源端口或目的端口口是tcp/80的數據包
tcp.port == 80#過濾出源端口或目的端口口是udp/53的數據包
udp.port ==53#過濾src source 源端口是tcp/80
tcp.srcport == 80#過濾dst destitation 目標端口是tcp/80
tcp.dstport == 80#過濾src source 源端口是udp/53
udp.srcport == 53#過濾dst destitation 目標端口是udp/53
udp.dstport == 53#過濾tcp端口為80并且包含www.baidu.com
tcp.port == 80 and http ~ "www.baidu.com"

7.3. 抓取指定ip的數據包

#過濾源ip或目標ip為百度的數據包
ip.addr == 39.156.66.10 #過濾出源ip或目標ip是10.0.0.200數據包#ip.src表示源ip
ip.src == 10.0.0.200 #過濾出源ip 10.0.0.200數據包#ip.dst表示目標ip
ip.dst == 10.0.0.200 #過濾出目標ip 10.0.0.200數據包

7.4. 不固定內容的過濾-比較大小

#過濾出端口小于等于1024的數據包
tcp.dstport <= 1024

7.5. 與或非

#過濾端口號大于等于20 小于等于1024
tcp.port >=20  &&  tcp.port <=1024
tcp.port >=20  and tcp.port <=1024&& and  并且
or ||   或者
!       取反

7.6. tcpdump抓包

tcpdump -vvv -nnn -w all.pcap-vvv 表示顯示詳細的抓包信息-nnn 表示不要做反向解析#抓取icmp協議數據包
tcpdump -vvv -nnn icmp#抓取80端口數據包
tcpdump -vvv -nnn port 80
tcpdump -vvv -nnn src port 80
tcpdump -vvv -nnn dst port 80#抓取指定ip的數據包
tcpdump -vvv -nnn host 10.0.0.200
tcpdump -vvv -nnn src host 10.0.0.200
tcpdump -vvv -nnn dst host 10.0.0.200

8. 修改網卡名字

  • 麒麟系統
1.修改/boot/grub2/grub.cfg配置,在以linux開頭的行(有兩行),結尾添加
net.ifnames=0 biosdevname=0
sed -ri.bak '/\t+linux/s#$# net.ifnames=0 biosdevname=0#g' /boot/grub2/grub.cfg2.修改網卡配置文件
NAME=eth0
DEVICE=eth03.修改網卡名字
mv ifcfg-ens33 ifcfg-eth0重啟linux
  • centos系統
1.修改/boot/grub2/grub.cfg配置,在以linux16開頭的行,結尾添加
net.ifnames=0 biosdevname=02.修改網卡配置文件的網卡名
NAME=eth0
DEVICE=eth0重啟linux
  • ubuntu22.04修改方法
1.修改/boot/grub/grub.cfg
在第170行,第189行,第226行,增加biosdevname=0 net.ifnames=0sed -i '/linux.*vmlinuz/s#$# biosdevname=0 net.ifnames=0#g' /boot/grub2/grub.cfg2.修改網卡配置文件的網卡名
sed -i 's#ens33#eth0#g' /etc/netplan/00-installer-config.yaml重啟linux

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

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

相關文章

基于autodl部署Cross-Modal-Re-ID-baseline

https://arxiv.org/abs/2001.04193 https://github.com/mangye16/Cross-Modal-Re-ID-baseline/tree/master?tabreadme-ov-file# 需要SYSU-MM01.zip pip install numpy pandas scipy scikit-learn pillow tqdm把SYSU-MM01放到…/Datasets/SYSU-MM01/ori_data下 先運行pytho…

線程安全集合

前置閱讀&#xff1a; 數據結構等算法概念 樹堆排序 鎖相關概念&#xff1a; 鎖概念鎖實現 隊列 Queue 與 Deque 的區別 Queue 是單端隊列&#xff0c;只能從一端插入元素&#xff0c;另一端刪除元素&#xff0c;實現上一般遵循 先進先出&#xff08;FIFO&#xff09; 規則…

ESP32與STM32

ESP32與STM32深度對比&#xff1a;物聯網與嵌入式開發的王者之爭 一、核心架構對比 1.1 ESP32 - 無線物聯網霸主 // 典型雙核架構配置 #include "freertos/FreeRTOS.h" #include "freertos/task.h"void app_main() {// 核心0執行無線通信任務xTaskCreat…

在SpringBoot中使用AWS SDK實現郵箱驗證碼服務

1.依賴導入&#xff08;maven&#xff09; <dependency><groupId>software.amazon.awssdk</groupId><artifactId>ses</artifactId><version>2.31.46</version></dependency> 2.申請兩個key 發件人郵箱需要驗證&#xff1a; …

從零到一:Maven 快速入門教程

目錄 Maven 簡介Maven 是什么為什么使用 Maven&#xff1f; 安裝 Maven下載 Maven 配置 Maven解壓文件配置本地倉庫保存路徑配置國內倉庫地址 Maven 的核心概念了解 pom.xml 文件坐標依賴范圍生命周期compileprovidedruntimetestsystemimport 依賴傳遞依賴排除依賴循環 繼承1. …

Java-39 深入淺出 Spring - AOP切面增強 核心概念 通知類型 XML+注解方式 附代碼

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI煉丹日志-28 - Aud…

第四講:類和對象(下)

1. 再探構造函數 ? 之前我們實現構造函數時&#xff0c;初始化成員變量主要使?函數體內賦值&#xff0c;構造函數初始化還有?種? 式&#xff0c;就是初始化列表&#xff0c;初始化列表的使??式是以?個冒號開始&#xff0c;接著是?個以逗號分隔的數據成 員列表&#xff…

linux 安裝mysql8.0;支持國產麒麟,統信uos系統

一&#xff1a;使用我已經改好的mysql linux mysql8.0解壓可用&#xff0c;點我下載 也在國產麒麟系統&#xff0c;統信uos系統也測試過&#xff0c;可用&#xff1b; 下載后&#xff0c;上傳mysql.tar.gz 然后使用root角色去執行幾個命令即可&#xff1b;數據庫密碼&#xf…

音頻剪輯軟件少之又少好用

我們平時見到的圖片以及視頻編輯工具非常多&#xff0c;但是音頻剪輯軟件卻是少之又少&#xff0c;更不用說有沒有好用的&#xff0c;今天&#xff0c;給大家帶來一款非常專業的音頻剪輯軟件&#xff0c;而且是會員喔。 軟件簡介 一款手機號登錄即可以享受會員的超專業音頻剪…

論文閱讀:CLIP:Learning Transferable Visual Models From Natural Language Supervision

從自然語言監督中學習可遷移的視覺模型 雖然有點data/gpu is all you need的味道&#xff0c;但是整體實驗和談論豐富度上還是很多的&#xff0c;非常長的原文和超級多的實驗討論&#xff0c;隔著屏幕感受到了實驗的工作量之大。 Abstract 最先進的計算機視覺系統被訓練來預測…

第9篇:數據庫中間件的容錯機制與高可用架構設計

9.1 為什么數據庫中間件需要容錯與高可用設計&#xff1f; 隨著系統復雜性增加&#xff0c;數據庫中間件不僅承載 SQL 路由、分片、事務控制等核心職責&#xff0c;也成為系統的 單點風險源。 為確保系統 724 小時穩定運行&#xff0c;中間件必須具備&#xff1a; 自動故障檢測…

c#壓縮與解壓縮-SharpCompress

SharpCompress SharpCompress 是一個開源項目庫&#xff0c;能夠處理文件。c#庫對于壓縮已經有很多&#xff0c;可以隨意選擇&#xff0c;看了SharpCompress感覺比較簡潔&#xff0c;還是介紹給大家。 項目地址&#xff1a; sharpcompress 項目使用 引入nuget包&#xff1…

Go中的協程并發和并發panic處理

1 協程基礎 1.1 協程定義&#xff08;Goroutine&#xff09; 概念&#xff1a;Go 語言特有的輕量級線程&#xff0c;由 Go 運行時&#xff08;runtime&#xff09;管理&#xff0c;相比系統線程&#xff08;Thread&#xff09;&#xff0c;創建和銷毀成本極低&#xff0c;占用…

性能優化筆記

性能優化轉載 https://www.cnblogs.com/tengzijian/p/17858112.html 性能優化的一般策略及方法 簡言之&#xff0c;非必要&#xff0c;不優化。先保證良好的設計&#xff0c;編寫易于理解和修改的整潔代碼。如果現有的代碼很糟糕&#xff0c;先清理重構&#xff0c;然后再考…

frida簡介及環境搭建

frida簡介及環境搭建 一、frida簡介二、frida環境搭建一、frida簡介 frida是一款輕量級的Hook框架,也可以說是一種動態插樁工具,可以插入一些原生代碼到原生app的內存空間去,動態地監視和修改器行為,這些原生平臺可以是Win、Mac、Linux、Android或者iOS。 frida分為兩個部…

Python實例題:Python計算微積分

目錄 Python實例題 題目 代碼實現 實現原理 符號計算&#xff1a; 數值計算&#xff1a; 可視化功能&#xff1a; 關鍵代碼解析 1. 導數計算 2. 積分計算 3. 微分方程求解 4. 函數圖像繪制 使用說明 安裝依賴&#xff1a; 基本用法&#xff1a; 示例輸出&#…

Mybatis 攔截器 與 PageHelper 源碼解析

Mybatis 攔截器 與 PageHelper 源碼解析 一、MyBatis插件機制的設計思想二、Interceptor接口核心解析2.1 核心方法2.2 Intercepts、Signature 注解2.3 自定義攔截器 三、PageHelper 介紹3.1 使用姿勢3.2 參數與返回值3.3 使用小細節 四、PageHelper 核心源碼解析4.1 分頁入口&a…

Linux中 SONAME 的作用

?? 一、從 -lexample 到 SONAME ? 假設你有以下文件結構: /libexample.so → libexample.so.1 /libexample.so.1 → libexample.so.1.0.0 /libexample.so.1.0.0 # SONAME: libexample.so.1/libexample.so.2 → libexample.so.2.0.0 /libexample.so.2.0…

熱門消息中間件匯總

文章目錄 前言RabbitMQ基本介紹核心特性適用場景 Kafka基本介紹核心特性適用場景 RocketMQ基本介紹核心特性適用場景 NATS基本介紹核心特性適用場景 總結選型建議與未來趨勢選型建議未來趨勢 結語 前言 大家后&#xff0c;我是沛哥兒。作為技術領域的老濕機&#xff0c;在消息…

【DAY42】Grad-CAM與Hook函數

內容來自浙大疏錦行python打卡訓練營 浙大疏錦行 知識點: 回調函數lambda函數hook函數的模塊鉤子和張量鉤子Grad-CAM的示例 作業&#xff1a;理解下今天的代碼即可 在深度學習中&#xff0c;我們經常需要查看或修改模型中間層的輸出或梯度。然而&#xff0c;標準的前向傳播和反…