操作 TCP 标头中 ISN 编号的最有效方法 [关闭]

2024-03-01

我目前正在尝试编写一个程序,该程序将能够创建稳定的 TCP 连接并完全控制 ISN 编号。我一直在用 C 语言写作,而我非常有限的知识已经达到了极限,我想知道是否有更好的方法来做到这一点。

我尝试的是手动构建标头,使用原始套接字发送和接收数据包,而不会受到内核干扰,这是一个挑战。

因此,无论使用哪种语言,您认为操纵 ISN 最有效、最简单的方法是什么?


那么,ISN是以随机方式生成的,以防止ISN预测攻击(http://www.thegeekstuff.com/2012/01/tcp-sequence-number-attacks/ http://www.thegeekstuff.com/2012/01/tcp-sequence-number-attacks/).

Linux网络栈,使用函数tcp_v4_init_sequence生成 ISN (http://lxr.free-electrons.com/source/net/ipv4/tcp_ipv4.c#L101 http://lxr.free-electrons.com/source/net/ipv4/tcp_ipv4.c#L101),这个函数调用secure_tcp_sequence_number功能 (http://lxr.free-electrons.com/source/net/core/secure_seq.c#L106 http://lxr.free-electrons.com/source/net/core/secure_seq.c#L106)来完成这项工作。看一下这个函数并尝试克隆它,以便可以将它与用户空间的代码一起使用。

如果你时间充裕的话可以看看第3节 of the RFC 6528 (http://www.rfc-editor.org/rfc/rfc6528.txt http://www.rfc-editor.org/rfc/rfc6528.txt),它描述了如何生成 ISN 的算法:

ISN = M + F(localip, localport, remoteip, remoteport, secretkey)

如果你愿意的话,请尝试实现它:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作 TCP 标头中 ISN 编号的最有效方法 [关闭] 的相关文章

  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • System.IO.IOException:由于意外>数据包格式,握手失败?

    有谁知道这意味着什么 System Net WebException 底层连接已关闭 发送时发生意外错误 gt System IO IOException 由于意外 握手失败 数据包格式 在 System Net Security SslS
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • 将带有 glut 的点击坐标添加到向量链接列表中

    我想创建一个向量链接列表 并在 GLUT 库的帮助下获取点击的位置并将它们附加到链接列表中 这些是我写的结构 typedef struct vector int x int y Vector typedef struct VectorLis
  • libxml2 xmlChar * 到 std::wstring

    libxml2似乎将所有字符串存储在 UTF 8 中 如xmlChar xmlChar This is a basic byte in an UTF 8 encoded string It s unsigned allowing to pi
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • .NET 客户端中 Google 表格中的条件格式请求

    我知道如何在 Google Sheets API 中对值和其他格式进行批量电子表格更新请求 但条件格式似乎有所不同 我已正确设置请求 AddConditionalFormatRuleRequest formatRequest new Add
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • Visual Studio 2017 完全支持 C99 吗?

    Visual Studio 的最新版本改进了对 C99 的支持 最新版本VS2017现在支持所有C99吗 如果没有 C99 还缺少哪些功能 No https learn microsoft com en us cpp visual cpp
  • 在 C++17 中使用 成员的链接错误

    我在 Ubuntu 16 04 上使用 gcc 7 2 并且需要使用 C 17 中的新文件系统库 尽管确实有一个名为experimental filesystem的库 但我无法使用它的任何成员 例如 当我尝试编译此文件时 include
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • 带有私有设置器的 EFCore Base 实体模型属性 - 迁移奇怪的行为

    实体模型继承的类内的私有设置器似乎会导致 EFCore 迁移出现奇怪的问题 考虑以下示例 其中有多个类 Bar and Baz 继承自Foo 跑步时Add Migration多次命令 添加 删除private修饰符 生成的模式在多个方面都是

随机推荐

  • 如何在 IIS 上使用 ASP.NET Core 3.1 API 部署 Angular SPA?

    我想象应该是简单的场景 有 Angular 8 SPA ASP NET Core 3 1 Web API 想在Windows Server上部署IIS的已通读 使用 IIS 在 Windows 上托管 ASP NET Core https
  • C++ 查找单词中的 Anagrams

    我正在开发一个程序 该程序使用以下命令来检查特定单词是否是字谜词std count但是 我认为我的功能逻辑不正确 而且我似乎无法弄清楚 假设文件中有以下单词 Evil Vile Veil Live 我的代码如下 include
  • PowerMock:模拟私有静态最终变量,具体示例

    要通过此测试必须进行的绝对最小模拟是什么 code class PrivateStaticFinal private static final Integer variable 0 public static Integer method
  • 使用 ODBC 转义包含问号的访问表名称

    我有一个Access数据库要查询如下 id name Print 1 one Yes 2 two No 现在 我在 java 中的查询 使用带有 ODBC 连接器的PreparedStatement 如下所示 select from tab
  • 将 pandas GroupBy 中的列值聚合为字典

    这是我之前面试的时候也问过的问题 我们的输入数据具有以下列 语言 产品 ID 货架 ID 排名 例如 输入将具有以下格式 English 742005 4560 10 2 English 6000075389352 4560 49 Fren
  • 如何左移一位特定位?

    我只想在特定位置左移一位 保留其位置0 所以我不想用 lt lt 运算符 这是一个示例 假设变量具有值1100 1010我想移动第四位那么结果应该是1101 0010 到达那里的步骤 从原始数字中提取位值 将位值左移一位 将位移后的值合并回
  • 幂集生成函数的时间复杂度

    我试图计算出我编写的函数的时间复杂度 它生成一个电源组 http en wikipedia org wiki Power set对于给定的字符串 public static HashSet
  • 高效浮点比较 (Cortex-A8)

    有一个很大的 100 000 数组floating点变量 并且有一个阈值 也floating point 问题是我必须将数组中的每个变量与阈值进行比较 但 NEON 标志传输需要非常长的时间 根据探查器 约为 20 个周期 有没有有效的方法
  • 使用 nginx 通过 index.php 路由请求 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在将我的服务器从 Apache 迁移到 Nginx 这非常简单 htaccess rule RewriteEngine On RewriteCon
  • 在 ssl (ldaps) 的支持下连接活动目录

    我正在尝试在 ssl 的支持下连接活动目录 我尝试了以下网站中的步骤 http confluence atlassian com display CROWD Configuring an SSL Certificate for Micros
  • 防止进入后台状态 ios swift 时 websocket 连接断开

    经过大量研究后 这似乎是一个灰色地带 一旦用户进入后台状态 使用 Swift 库 Starscream 但我相信问题出在 iOS 和套接字上 我会尝试通过 websockets 偶尔发送网络请求 用户离开应用程序后不久 套接字连接会自动断开
  • 如何获取全日历的开始和结束时间?

    我怎样才能得到start and end全日历中可见天数的时间 我需要它在另一个 javascript 实例中使用 有没有类似的功能 calender getStartTime 如果您正在寻找visible开始和结束日期 那就是visSta
  • 有 Safari 阅读器的 API 吗?

    Safari Reader 是否有一个 API 可用于为 iOS 应用过滤网页中的文本 清除广告 不需要的文本部分等 如果没有 还有其他选择吗 只是在为我的应用程序做一些研究 这就是我发现的 无法发布所有链接 因为我是新人 但很容易通过谷歌
  • 是否有理由使用 std::conjunction/std::disjunction 而不是“&&”/“||”上的折叠表达式?

    是否存在您无法正确处理的特定情况std conjunction std disjunction并且不使用更 基本 即语言功能而不是库功能 的折叠表达式 Example func is enabled if all Ts have the s
  • ngx-datatables 在排序时给出“rxjs_1.fromEvent 不是函数”错误

    我只是按照演示来展示一个简单的数据表 这是我的代码 columns name ID prop id name Street Address prop address street name Suburb prop address subur
  • Java流过滤器值之和

    我有一堂课叫MonitoredData其中描述了一项活动及其开始时间和结束时间 属性是activityLabel startTime endTime 我必须使用流对这些活动进行分组和过滤 这些活动的总持续时间超过 10 小时 我设法计算持续
  • 如何访问 Apple 照片应用程序中使用的人物相册

    苹果的照片应用程序具有面部识别功能 我想知道是否存在 API 来访问已由应用程序分类的照片的相关数据 Apple 发布了一个用于访问 Apple Photos 的 SDK 名为照片套件 https developer apple com d
  • Django REST Framework 中的命名 JSON 数组

    实际上我已经定义了模型序列化器 class MyObjectSerializer serializers ModelSerializer class Meta model MyObject fields id name 它为我准备 JSON
  • CasperJS“无法加载脚本”

    我在为我一直使用的 casperJS 编写新脚本时遇到了最奇怪的问题 当我尝试使用 casperjs myScript js 启动脚本时 我得到以下信息 Unable to load script var www scrapers mySc
  • 操作 TCP 标头中 ISN 编号的最有效方法 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前正在尝试编写一个程序 该程序将