问题标签 [ip-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
219 浏览

c# - C#中的数据包标记(IP Traceback)

我正在寻找在 C# 中使用数据包标记算法实现 IP Traceback?

我用谷歌搜索但找不到任何东西!!!

任何人都知道一个网站有这个实现?

0 投票
2 回答
3667 浏览

c# - 在 C# 中计算 Internet(又名 IP,又名 RFC791)校验和

有趣的是,除了 C# 之外,我几乎可以在所有语言中找到 Internet 校验和的实现。有没有人可以分享一个实现?

请记住,互联网协议规定:

“校验和字段是报头中所有 16 位字的补码和的 16 位补码。为了计算校验和,校验和字段的值为零。”

更多解释可以从Dr. Math找到。

有一些可用的效率指针,但这对我来说并不是一个大问题。

请包括您的测试!(编辑:关于测试其他人代码的有效评论 - 但我要脱离协议并且没有自己的测试向量,宁愿对其进行单元测试也不愿投入生产以查看它是否与当前使用的相匹配! ;-)

编辑:这是我提出的一些单元测试。他们测试了一个迭代整个字节集合的扩展方法。如果您在测试中发现错误,请发表评论。

0 投票
6 回答
5101 浏览

tcp - 在一个ip数据包中发送多个tcp数据包

是否可以在单个 ip 数据包上发送多个 tcp 或 udp 数据包?协议中是否有任何规范不允许这样做。

如果协议允许但 tcp/udp 实现通常不这样做,您能否指出我在 linux 源代码中证明这一点的相关部分。

在某些操作系统上是否有任何 tcp/udp 实现在单个 ip 数据包上发送多个数据包。(如果允许)。

0 投票
1 回答
1124 浏览

header - 关于ip校验码的问题

  1. 我假设 nwords 的数量是 16 位字,而不是 8 位字节(如果有奇数字节,则 nword 舍入到下一个大字),对吗?假设 ip_hdr 总共有 27 个字节,那么 nword 将是 14 而不是 13,对吗?
  2. 行 sum = (sum >> 16) + (sum & 0xffff) 是添加进位以使 16 位补码
  3. 总和 += (总和 >> 16); 这一步的目的是什么?添加剩余字节?但是循环中已经添加了剩余字节?

谢谢!

0 投票
3 回答
20357 浏览

java - 如何从 Java 中的字节 [] 计算互联网校验和

我试图弄清楚如何在 Java 中计算 Internet 校验和,这给我带来了无尽的痛苦。(我在位操作方面很糟糕。)我在 C# 中找到了一个版本,在 C# 中计算 Internet(又名 IP,又名 RFC791)校验和。但是,我尝试将其转换为 Java 并没有看到产生正确的结果。谁能看到我做错了什么?我怀疑是数据类型问题。

0 投票
2 回答
6250 浏览

c# - 如何使用套接字欺骗 IP 地址?

我正在开发一个网站测试框架,我希望能够欺骗用户 ip。我读过,像 Loadrunner 这样的软件可以做到这一点,我也希望能够做到这一点。

可以在此处找到有关如何正常使用套接字的教程,但是如果我想欺骗 ip,我将不得不以某种方式编辑 ip 标头。这是在套接字级别完成的,还是在 .Net 中有其他更深层次的,可以让我这样做?

0 投票
0 回答
31 浏览

structure - IP 结构:为什么 HeaderLength 领先于版本

这是我在 Python 中的 ctypes 代码:

众所周知,IP Header 0-3bit 是 Version 而 4-7bit 是 HeaderLength 但为什么在这段代码中 HeaderLength 是在 Version 之前

0 投票
1 回答
950 浏览

python - 如何在 python 中设置套接字选项 IP_DONTFRAG?

如何使用 python 套接字在 IP 标头中设置 DONT_FRAGMENT 标志?

以下代码

给我这个错误:

有人有想法吗?

0 投票
1 回答
66 浏览

java - 服务器和客户端之间的通信标准

我对服务器和客户端定义它们之间的通信标准的方式有疑问。作为参考,我使用的是 Java 和这里引用的代码。

  1. 客户端需要服务器的 IP 才能连接到它。如果服务器使用该方法InetAddress.getLocalHost().getHostAddress(),则返回的 IP 地址将是本地的:如果客户端与服务器在同一台机器上,则很有用,否则就不太有用了。如何获取客户端需要的服务器 IP?是否可以在不使用 ping 您的服务器并返回您的公共 IP 的外部服务或站点的情况下获取此信息?
  2. 假设我,客户端,已经Socket与服务器建立了通信。现在我需要打开输入和输出流,它必须与服务器端的流兼容。我怎样才能提前知道正确的种类?例如,让我们考虑time.nist.gov端口 13 的情况。我希望与该服务器的通信输出是String封装当前日期。String服务器是通过一个ObjectOutputStream还是通过一个来传输所说的OutputStreamWriter?我怎么知道?