网络接口(2)

news2024/9/22 15:31:50

一、粘包问题

原因:tcp流式套接字,数据与数据之间没有边界感,导致可能多次的数据粘到一起

解决办法:

(1)、规定间隔符,如:“ \r\n”等;

(2)、指定发送数据的长度

(3)、利用struct进行数据打包。

二、recv:用于从套接字接收数据

 ssize_t recv(int sockfd, void *buf, size_t len, int flags);

  • sockfd:是套接字描述符,指定了要接收数据的套接字。
  • buf:是一个指向缓冲区的指针,该缓冲区用于存储接收到的数据。
  • len:指定了缓冲区的长度,即可以接收的最大字节数。
  • flags:指定了接收操作的行为,大多数情况下设置为0。

三 、IP数据报的格式

(1)、版本,占4位,即ip协议的版本

(2)首部长度   占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字(1个32位字长是4字节),因此,当P的首部长度为1111时(即十进制的15),首部长度就达到最大值60字节。

 (3)区分服务,占8位

(4)(4)总长度   总长度指首部和数据之和的长度,单位为字节。
总长度字段为16位,因此数据报的最大长度为216 -1 = 65535字节。
(5)标识

(6)标志(flag)   占3位,但目前只有两位有意义。
标志字段中的最低位记为 MF (More Fragment)。MF = 1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
标志字段中间的一位记为DF (Don't Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
(7)片偏移   占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。

(8)生存时间   占8位

(9)协议           占8位

(10)首部检验和   占16位

(11)源地址         占32位
(12)目的地址     占32位
 

四、抓包工具------tcpdump 

tcp.port == 端口号 && tcp.ip == IP地址              

可视化界面:wireshark

过滤规则:

1.根据ip地址:

(1)ip.src == ip地址           (2)ip.dst ==ip地址

2.根据端口:

(1)tcp.srcport == 端口号  (2)tcp.dstport == 端口号

(3)udp.srcport == 端口号 (4)udp.dstport == 端口号

3.根据协议类型:tcp,udp,icmp……

4.任意组合以上条件抓包

如果与:and; ip.src == ip地址  and  tcp.dstport == ip地址

如果或:or ;  ip.src == ip地址  or  tcp.dst == ip地址

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

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

相关文章

河道漂浮物监测识别摄像机

近年来,河道和湖泊污染日益严重,漂浮物的监测与识别成为一项迫切需要解决的环境问题。针对这一问题,科技人员研发了河道漂浮物监测识别摄像机。 河道漂浮物监测识别摄像机利用先进的图像识别技术,通过智能算法,可以在河…

动态规划-打家劫舍Ⅱ

该题是打家劫舍Ⅰ的升级版并与其相关,如果对其感兴趣的话可以先看看打家劫舍Ⅰ 题目描述 一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈 ,这意味着第一个房屋和最后…

深度学习(10)---Vision Transformer详解

文章目录 一、简介二、模型结构2.1 整体架构2.2 Linear Projection of Flattened Patches2.3 Transformer Encoder2.4 MLP Head 三、ViT模型搭建参数四、思考题 一、简介 1. Vision Transformer(ViT)是一种基于Transformer架构的深度学习模型&#xff0c…

UE基础 —— Playing and Simulating

目录 Play In Editor 运行(Play) Play Modes PIE Console Simulate In Editor 可以随时在虚幻编辑器中预览游戏,无需将其构建为独立的应用程序;能快速调整游戏玩法和资产,并了解相应调整带来的结果; …

vue全局参数

/* eslint-disable no-new */ new Vue({el: #app,router,components: { App },template: <App/>,data:function(){return{wbWinList: [] // 定义的变量&#xff0c;全局参数}}, }) //使用全局参数 // this.$root.backgroundColor 666;其它页面如果想监听改变 //监听全…

【JAVA基础】this关键字与final关键字

文章目录 this关键字final关键字Java值传递 this关键字 this代表当前对象&#xff0c;有时候不太方便直接使用对象&#xff0c;可以用this **用法1&#xff1a;**this.属性名 在类中调用全局变量 举个例子&#xff1a; public class Student1 {public String name;public S…

密文域可逆信息隐藏与掩码自动编码器(MAE)

原文题目&#xff1a;Reversible data hiding in encrypted images based on pixel-level masked autoencoder and polar code Source: Signal Processing Authors: Zhangpei Cheng, Kaimeng Chen , Qingxiao Guan 发表年份&#xff1a;2024年 学习这篇文章主要原因是结合了…

Leetcode 46.全排列

注意的点&#xff1a; 1、回溯本质就是搜索树的树枝&#xff0c;维护三个核心变量&#xff1a;path&#xff08;需要恢复现场&#xff09;&#xff0c;visited&#xff08;需要恢复现场&#xff09;&#xff0c;以及res 解法&#xff1a;回溯算法 class Solution:def permut…

iphone问题笔记

拼音打字显示一些不相干的词 原因&#xff1a;开启了自动改正&#xff0c;傻逼iphone总以为你打错了。 计算器没有退格键&#xff1f; 解决方法&#xff1a;按住数字往右滑是退格。 关机重启必须去设置里&#xff1f; 连按五次锁屏可以选择关机。

[新手入门]1台电脑+1个电视+2个软件(sunshine+moonlight) 解决黑神话悟空没有hdmi线的痛...

sunshinemoonlight 解决黑神话悟空 本地串流投屏 背景:偶然间在B站发现了sunshinemoonlight方案,替代hdmi线,做本地串流...于是心灵手巧的我开始尝试踩坑之路:1.准备安装包2.开始安装2.1 笔记本windows安装sunshine2.2 遇到了第一个坑.Fatal: ViGEmBus is not installed or run…

matplotlib绘制子图以及局部放大效果

需求&#xff1a;绘制1*2的子图&#xff0c;子图1显示两个三角函数&#xff0c;子图2显示三个对数函数&#xff0c;子图2中对指定的区域进行放大。 绘图细节&#xff1a; 每个子图中每个函数的数据存放到一个列表中&#xff0c;然后将每个子图的数据统一存到一个列表中&#…

亿发详解:ERP系统选择的艺术——中小企业如何避免实施陷阱?

有很多中小工厂反应&#xff0c;工厂上了一套精细化ERP系统后&#xff0c;却发现为了适应系统&#xff0c;不仅效率没提高&#xff0c;工作量还变大了&#xff0c;很多功能也根本用不到。这种情况其实并不少见。许多企业在引入ERP系统后&#xff0c;反而遇到了各种问题。说到底…

RocketMQ学习(一)

文章目录 参考1. MQ 介绍1.1 为什么要用 MQ应用解耦流量削峰数据分发 1.2 MQ 的优点和缺点1.3 各种 MQ 产品的比较 2. RocketMQ 快速入门2.1 准备工作2.1.1 下载 RocketMQ2.2.2 环境要求安装jdk 2.2 安装 RocketMQ2.2.1 安装步骤2.2.2 目录介绍 2.3 启动 RocketMQ示例 2.4 测试…

配置错误酿大祸:.env文件泄漏导致数千组织云端数据遭受攻击

攻击者从不安全存储在数以万计的 Web 应用程序的环境变量中收集 Amazon Web Services 密钥和各种云服务的访问令牌。 Unit 42 研究人员发现了一种数据勒索活动&#xff0c;该活动主要是攻击者通过从不安全地存储在 Web 服务器上的环境 &#xff08;.env&#xff09; 文件&#…

空气净化器怎么选能除猫毛?宠物空气净化器除味好的分享

我有一位呼吸科医生朋友&#xff0c;他自己也养猫。他常向我们这群养宠物的朋友传授关于宠物毛发潜在危害的知识&#xff0c;引来不少幽默的回应&#xff1a;“既然如此&#xff0c;干脆把猫送走算了&#xff1f;”开玩笑&#xff0c;自己养大的猫跟亲生的有什么区别。我注意到…

搭建FTP服务器,通过浏览器访问FTP服务器,测试终端上传的音频文件。

文章目录 引言I 搭建FTP服务器II 浏览器访问FTP文件PC端浏览器访问iphone-safari浏览器访问FTP设置Mac-Safari浏览器访问FTP设置III FTP基础知识FTP客户端数据连接: 被动模式(PASV)引言 需求: 通过浏览器访问,测试终端通过FTP上传的语音文件,支持直接播放语音文件。 建议…

[数据集][目标检测]风力发电机叶片损伤检测数据集VOC+YOLO格式5029张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5029 标注数量(xml文件个数)&#xff1a;5029 标注数量(txt文件个数)&#xff1a;5029 标注…

【MATLAB学习笔记】绘图——分割绘图背景并填充不同的颜色

目录 前言分割背景函数示例基本绘图分割背景函数的使用保存图片 总代码总结 前言 在MATLAB中&#xff0c;使用窗口对象的Color属性可以轻松地设置不同的背景颜色&#xff0c;但是只能设置一种单一颜色。若需要将绘图背景设置成多种颜色&#xff0c;比如左右两边不同的颜色&…

Gradio.NET支持 .NET 8 简化 Web 应用开发

目录 前言 Gradio.NET Gradio.NET 使用 1、创建项目 2、安装 Gradio.Net 3、示例代码 Gradio.NET 示例 1、Layout 2、Form 3、Media 4、Chatbot 5、Progress Gradio.NET 应用 项目地址 总结 最后 前言 Gradio.NET 是 Gradio 在 .NET 平台上的移植版本。Gradio …

内容为王:数字化营销的致胜法宝

​在当今数字化时代&#xff0c;营销环境发生了巨大变化。消费者被海量信息包围&#xff0c;注意力成为必争资源。在这种情况下&#xff0c;“内容为王” 的理念愈发凸显其重要性&#xff0c;成为数字化营销的致胜法宝。 1. 吸引用户注意力 高质量、有价值的内容能够在众多信息…