【问题标题】:Is sending ACK back on TCP/IP software or hardware thing?是在 TCP/IP 软件或硬件上发回 ACK 吗?
【发布时间】:2019-03-04 05:23:01
【问题描述】:

我们如何知道端口正在监听?

是否有可能知道端口正在侦听,即使它们没有响应?

即当我只是在某些程序中绑定套接字时,我真的不发回ACK。

1: Packet is received and analyzed.
2: If packet fit meets, ACK is send back.

如果我可以编程这个东西,或者是负责 ACK 的网卡硬件。

【问题讨论】:

    标签: sockets networking port tcp-ip


    【解决方案1】:

    我们如何知道端口正在监听?

    您的本地堆栈知道。应用程序需要注册端口。

    是否有可能知道端口正在侦听,即使它们没有响应?

    如果对发出的 SYN 没有响应,则主机可能无法访问、目标端口未侦听或 SYN 被过滤。

    即当我只是在某些程序中绑定套接字时,我真的不发回ACK。

    您不必担心由操作系统的 IP 堆栈处理的 SYN 和 ACK。只需在目标上设置一个侦听器,然后从源连接套接字。如果套接字打开,您可以通过管道开始通话。

    如果我可以编程这个东西,或者是负责 ACK 的网卡硬件。

    ACK 是由操作系统的 IP 堆栈处理的 TCP 传输协议的一部分。

    【讨论】:

      【解决方案2】:

      您可以使用 netstat 命令找出套接字和连接的列表。对有问题的端口使用 netstat -a 和 grep。你可以看看你想要的端口是否有socket监听。

      【讨论】:

      • 发送 ACK 由 TCP/IP 协议定义。在大多数情况下,ACK 的发送是由软件中的网络堆栈驱动的。有一些实现,其中一部分 TCP/IP 堆栈是在硬件中实现的。在这种情况下,ACK 由硬件生成。如果您使用带有普通 NIC 的普通操作系统,则 ACK 由软件中的 TCP/IP 堆栈生成。
      猜你喜欢
      • 2012-07-21
      • 2015-09-08
      • 2017-01-19
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多