day26-计算机网络-4

news2025/6/9 9:12:41

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 TCP

ss -lntup
netstat -lntup
-l 查看处于监听状态的服务
-n 不反向解析
-t TCP
-u UDP
-p 进程

#统计TCP状态
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rnk1

3. 面试题:查看端口是否存在

ss -lntup

netstat -lntup

telnet 10.0.0.210 80

nmap -p 22,80 10.0.0.210

filtered 过滤(防火墙拦截)

lsof -i:22

lsof 查看所有打开的文件信息

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.com

mtr --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.cfg

2.修改网卡配置文件
NAME=eth0
DEVICE=eth0

3.修改网卡名字
mv ifcfg-ens33 ifcfg-eth0

重启linux
  • centos系统
1.修改/boot/grub2/grub.cfg配置,在以linux16开头的行,结尾添加
net.ifnames=0 biosdevname=0

2.修改网卡配置文件的网卡名
NAME=eth0
DEVICE=eth0

重启linux
  • ubuntu22.04修改方法
1.修改/boot/grub/grub.cfg
在第170行,第189行,第226行,增加biosdevname=0 net.ifnames=0

sed -i '/linux.*vmlinuz/s#$# biosdevname=0 net.ifnames=0#g' /boot/grub2/grub.cfg

2.修改网卡配置文件的网卡名
sed -i 's#ens33#eth0#g' /etc/netplan/00-installer-config.yaml


重启linux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2405172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国防科技大学计算机基础慕课课堂学习笔记

1.信息论 香农作为信息论的这个创始人&#xff0c;给出来了这个信息熵的计算方法&#xff0c;为我们现在的这个生活的很多领域奠定了基础&#xff0c;我第一次听说这个信息熵是在这个数学建模里面的理论学习中有关于这个&#xff1a;决策树的模型&#xff0c;在那个问题里面&a…

【第七篇】 SpringBoot项目的热部署

简介 本文介绍了热部署&#xff08;Hot Deployment&#xff09;的概念、使用场景及在IDEA中的配置方法。热部署可在不重启应用的情况下动态更新代码&#xff0c;提升开发效率&#xff0c;适用于调试、微服务架构和自动化测试等场景。文章详细说明了热部署的实现步骤&#xff08…

解决pycharm同一个文件夹下from *** import***仍显示No module named

1、&#xff0c;from ***import *&#xff0c;同文件夹中已有.py文件但是仍然报错No module named 原因是因为pycharm没有把文件夹设置为根目录&#xff0c;只需要在文件夹的上一级设置为根目录即可&#xff0c;测试过如果仅仅将当前的文件夹设置仍然报错&#xff0c;如果把最上…

使用 Redisson 实现分布式锁—解决方案详解

Redisson 是 Redis 官方推荐的 Java 客户端&#xff0c;提供了一系列分布式服务实现&#xff0c;其中分布式锁是其核心功能之一。本文将深入解析 Redisson 分布式锁的实现原理、高级特性和最佳实践。 一、Redisson 分布式锁的优势 与传统实现的对比 特性手动实现Redisson 实现…

结合三维基因建模与智能体技术打造工业软件无码平台

通过深度整合 Protocol Buffers (Protobuf)、gRPC 及 Microsoft AI 技术&#xff0c;构建面向智能制造的高性能、智能化 PLM 平台。 一、Protocol Buffers 深度集成 1. 基因模型标准化定义 三维基因容器 Protobuf 规范&#xff1a; protobuf syntax "proto3"; pa…

Python Day46

Task&#xff1a; 1.不同CNN层的特征图&#xff1a;不同通道的特征图 2.什么是注意力&#xff1a;注意力家族&#xff0c;类似于动物园&#xff0c;都是不同的模块&#xff0c;好不好试了才知道。 3.通道注意力&#xff1a;模型的定义和插入的位置 4.通道注意力后的特征图和热力…

基于PostGIS的各地级市路网长度统计及Echarts图表可视化实践-以湖南省为例

目录 前言 一、路网长度计算 1、地级市列表查询 2、地级市路网长度查询 二、Echarts可视化实现 1、Echarts后端生成 2、引入Colormap配色 3、前端微调 三、总结 前言 在当今快速发展的社会中&#xff0c;交通路网的建设与布局对于一个地区的经济发展、居民生活以及城市…

mac版excel如何制作时长版环形图

设置辅助列 创建簇状柱形图 将辅助列绘制在次坐标轴 工作时长在主坐标轴&#xff0c;右键分别更改图表类型为圆环。 辅助列圆环全部为灰色&#xff0c;边框为白色 辅助列设置透明度100% 设置辅助列和工作时长列同样的圆环大小 可得 核心&#xff1a;只要辅助列边框不透明…

【MySQL系列】MySQL 执行 SQL 文件

博客目录 一、MySQL 执行 SQL 文件的常见场景二、MySQL 执行 SQL 文件的主要方法1. 使用 MySQL 命令行客户端2. 在 MySQL 交互界面中使用 source 命令3. 使用 MySQL Workbench 等图形化工具4. 使用编程语言接口 三、执行 SQL 文件时的注意事项1. 字符集问题2. 事务处理3. 错误处…

论文MR-SVD

每个像素 7 个 FLOPs意思&#xff1a; FLOPs&#xff08;浮点运算次数&#xff09;&#xff1a;衡量算法计算复杂度的指标&#xff0c;数值越小表示运算越高效。含义&#xff1a;对图像中每个像素进行处理时&#xff0c;仅需执行7 次浮点运算&#xff08;如加减乘除等&#xf…

Java 日期时间类全面解析

Java 日期时间类全面解析&#xff1a;从传统到现代的演进 一、发展历程概览 二、传统日期类&#xff08;Java 8前&#xff09; 1. java.util.Date - 日期表示类 Date now new Date(); // 当前日期时间 System.out.println(now); // Wed May 15 09:30:45 CST 2023// 特定时间…

【工具-Wireshark 抓包工具】

工具-Wireshark 抓包工具 ■ Wireshark 抓包工具■ 通过IP指定查看■■ ■ Wireshark 抓包工具 抓包工具】win 10 / win 11&#xff1a;WireShark 下载、安装、使用 Wireshark下载 阿里云镜像 ■ 通过IP指定查看 ■ ■

设备驱动与文件系统:06 目录与文件

磁盘使用的最后一层抽象&#xff1a;文件系统 今天我们讲第31讲&#xff0c;这一讲将完成磁盘对磁盘使用的最后一层抽象。对此板使用最后一层抽象&#xff0c;抽象出来的是什么呢&#xff1f; 实际上我们使用过磁盘&#xff0c;大家应该有这样的认识&#xff0c;最后不管这个磁…

Linux 系统中的算法技巧与性能优化

引言​ Linux 系统以其开源、稳定和高度可定制的特性&#xff0c;在服务器端、嵌入式设备以及开发环境中得到了极为广泛的应用。对于开发者而言&#xff0c;不仅要掌握在 Linux 环境下实现各类算法的方法&#xff0c;更要知晓如何利用系统特性对算法进行优化&#xff0c;以提升…

【C++系列】模板类型特例化

1. C模板类型特例化介绍 ​​定义​​&#xff1a;模板类型特例化&#xff08;Template Specialization&#xff09;是C中为模板的特定类型提供定制实现的机制&#xff0c;允许开发者对通用模板无法处理的特殊类型进行优化或特殊处理。 ​​产生标准​​&#xff1a; C98/03…

K8S认证|CKS题库+答案| 7. Dockerfile 检测

目录 7. Dockerfile 检测 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、修改 Dockerfile 3&#xff09;、 修改 deployment.yaml 7. Dockerfile 检测 免费获取并激活 CKA_v1.31_模拟系统 题目 您必须在以…

基于Scala实现Flink的三种基本时间窗口操作

目录 代码结构 代码解析 (1) 主程序入口 (2) 窗口联结&#xff08;Window Join&#xff09; (3) 间隔联结&#xff08;Interval Join&#xff09; (4) 窗口同组联结&#xff08;CoGroup&#xff09; (5) 执行任务 代码优化 (1) 时间戳分配 (2) 窗口大小 (3) 输出格式…

c++对halcon的动态链接库dll封装及调用(细细讲)

七个部分(是个大工程) 一,halcon封装函数导出cpp的内容介绍 二,c++中对halcon环境的配置 三,在配置环境下验证halcon代码 四,dll项目创建+环境配置 五,编辑dll及导出 六,调用打包好的动态链接库的配置 七,进行测试 一,halcon的封装及导出cpp的介绍 1,我这里…

【优选算法】分治

一&#xff1a;颜色分类 class Solution { public:void sortColors(vector<int>& nums) {// 三指针法int n nums.size();int left -1, right n, i 0;while(i < right){if(nums[i] 0) swap(nums[left], nums[i]);else if(nums[i] 2) swap(nums[--right], num…

【图片识别改名】如何批量将图片按图片上文字重命名?自动批量识别图片文字并命名,基于图片文字内容改名,WPF和京东ocr识别的解决方案

应用场景 在日常工作和生活中&#xff0c;我们经常会遇到需要对大量图片进行重命名的情况。例如&#xff0c;设计师可能需要根据图片内容为设计素材命名&#xff0c;文档管理人员可能需要根据扫描文档中的文字对图片进行分类命名。传统的手动重命名方式效率低下且容易出错&…