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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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;标准的前向传播和反…