Scapy 不需要的 RST TCP 数据包

2024-04-23

为了理解TCP是如何工作的,我尝试伪造自己的TCP SYN/SYN-ACK/ACK(基于教程:http://www.thice.nl/creating-ack-get-packets-with-scapy/ http://www.thice.nl/creating-ack-get-packets-with-scapy/ ).

问题是,每当我的计算机从服务器收到 SYN-ACK 时,它就会生成一个 RST 数据包来停止连接过程。

我在 OS X Lion 和 Ubuntu 10.10 Maverick Meerkat 上尝试过,都重置了连接。我找到了这个:http://lkml.indiana.edu/hypermail/linux/net/0404.2/0021.html http://lkml.indiana.edu/hypermail/linux/net/0404.2/0021.html,不知道是不是这个原因。

有谁能告诉我这可能是什么原因?以及如何避免这个问题呢?

谢谢。


你引用的文章已经很清楚地说明了这一点......

由于您没有完成完整的 TCP 握手,您的操作系统可能会尝试控制并开始发送 RST(重置)数据包,为了避免这种情况,我们可以使用 iptables:

iptables -A OUTPUT -p tcp --tcp-flags RST RST -s 192.168.1.20 -j DROP

本质上,问题在于scapy运行在用户空间,linux内核会先收到SYN-ACK。内核将发送 RST,因为在您有机会执行任何操作之前,它不会在相关端口号上打开套接字scapy.

解决方案(正如博客中提到的)是在内核上设置防火墙,防止其发送 RST 数据包。

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

Scapy 不需要的 RST TCP 数据包 的相关文章

随机推荐

  • 欧拉项目 #16 - C# 2.0

    我一直在与欧拉计划搏斗在 C 2 0 中 问题的关键在于 您必须计算并迭代 604 位长 或大约 的数字中的每个数字 然后将这些数字相加即可得出答案 这提出了一个问题 C 2 0没有可以处理这种计算精度的内置数据类型 我可以用一个第三方库
  • 在 TypeScript 中将数组作为参数传递

    我有两种方法 static m1 args any using args as array static m2 str string args any do something call to m1 m1 args 致电给m1 1 2 3
  • Azure Blob 存储与 Azure 驱动器

    我正在考虑迁移到 Windows Azure 而不是典型的托管 但我不确定如何最好地存储图像 经过搜索 我发现有 2 种可能的解决方案 Blob 存储或 Azure 驱动器 我研究了 Blob 存储 尽管我已经开始习惯这个想法 但它需要对我
  • 将证书文件加载到证书对象中

    我正在尝试将证书文件加载到证书对象中 但出现以下异常 java security cert CertificateParsingException invalid DER encoded certificate data at sun se
  • 我需要有关如何在 Windows Azure 上部署 ASP.NET 网站的演练或步骤

    我需要有关如何在 Windows Azure 上部署 ASP NET 网站的演练或步骤 以下是在 Windows Azure 上部署 ASP NET 网站的步骤 假设 gt 1 您已经创建了一个 ASP Net 网站 Step 1 在你的机
  • 如何检测android中某个渲染器区域内的触摸事件?

    在android中我举了一个旋转球体的例子在这里给出 https bitbucket org jimcornmell opengltexturedsphere 它创建了一个简单的应用程序 显示一个旋转球体 地球 现在 如果在手机显示屏上按下
  • 加密字段的部分搜索

    最近我被分配了一个问题 加密数据库字段 例如SSN 但仍然必须保持 部分搜索 工作 例如 SSN 123 45 6789 在数据库中被加密为 abcdxyz 当用户在搜索框中输入 2345 时 它必须出现在结果中 我们的数据库中有数百万条记
  • 截断表后序列不会重置

    我在截断表后使用 SELECT lastval 来获取错误的序列号 当我截断表时 我使用 SELECT lastval 我得到了错误的 ID Use the TRUNCATESQL 命令 对于单个表 语法如下 TRUNCATE TABLE
  • 如何处理特定类型集合的操作?

    在我的申请中的几个不同地方 我需要采取Seq SalesRow 并返回一个Map String SalesRow 其中字符串是国家 地区的名称 我需要在几个地方使用它 例如 我获取所有 SalesRows 的列表 并获取按国家 地区划分的全
  • Cygwin - 如何安装 ansible?

    如何使用 Cygwin 获取 安装 ansible 我尝试了以下步骤 但在第 5 条期间 运行时 python setup py 安装 步骤取自 取自https servercheck in blog running ansible wit
  • 为什么自动布局中的CGAffineTransform Rotate会移动动画视图?

    我想使用以下代码旋转 imageView UIView animateWithDuration 25 animations self imageView transform CGAffineTransformRotate self plus
  • 筛选提取-opencv

    我正在尝试开始使用 C OpenCv 进行筛选特征提取 我需要使用 SIFT 提取特征 将它们在原始图像 例如一本书 和场景之间进行匹配 然后计算相机姿势 到目前为止我已经找到了这个算法 http opencv itseez com doc
  • 如何在 Cucumber-JVM 中并行运行场景? [复制]

    这个问题在这里已经有答案了 我有一组为 Cucumber JVM 编写的验收测试 为了减少反馈时间 我想并行运行 功能的 场景 我该如何以最简单 最方便的方式做到这一点 我希望能够在 Java 代码中表达这一点 作为常规的 JUnit 测试
  • 带有不使用索引的查询变量的 SELECT

    我正在尝试 出于兴趣 通过使用局部变量的递归查询来检索简单邻接列表中的节点树 到目前为止我的解决方案很有趣 但我想知道 这是我唯一的问题 为什么 MySQL 拒绝使用任何INDEX来优化这个查询 MySQL 不应该能够通过使用INDEX 我
  • 由两个向量 (n,1) 构建的 R 距离矩阵

    我有两个向量 x n 1 and y n 1 真实值 我想创建一个矩阵M n n 这些向量包含每两对之间的距离 您可以使用outer功能 x lt sample 5 y lt sample 5 x 1 1 5 3 4 2 y 1 2 3 5
  • 这是在 Django 中进行依赖注入的正确方法吗?

    我正在尝试将依赖项注入到我的 Django 视图 控制器 中 这是一些背景知识 通常情况下 urls py文件是处理路由的 通常是这样的 urlpatterns path views get all posts name get all p
  • ngx-translate 在延迟加载模块中不显示任何文本

    我们在应用程序中使用 Angular 6 我们最近开始为我们的应用程序准备延迟加载 应用程序有多个延迟加载的路由 我们希望对所有路由使用单一语言文件 不需要将其分成块 但在引导程序上加载所有翻译 我尝试的第一件事就是在 AppModule
  • 使用 C# 进行 ECDHE 密钥交换

    我正在尝试使用 net 通过 TLS 1 2 进行 ECDHE 密钥交换 服务器正在响应 server key exchange 消息 该消息以 04 开头 所以我猜它是未加密的 根据我的理解 消息的前 32 位被视为值 X 接下来的 32
  • 分形加密

    我听说可以使用 Mandlebrot 集的图来加密数据 并且这种加密算法是量子安全的 与许多常用算法不同 不能用量子计算机破解 我在 Google 上查找更多信息 但只找到了一些针对非技术受众的文章 有谁有任何这方面的资源 我可以用它来了解
  • Scapy 不需要的 RST TCP 数据包

    为了理解TCP是如何工作的 我尝试伪造自己的TCP SYN SYN ACK ACK 基于教程 http www thice nl creating ack get packets with scapy http www thice nl c