sin*_*nan 7 linux networking tcp
出于学习目的,我正在实施TCP(现在只是RFC 793),但我不知道如何测试它.互联网上的大多数TUN/TAP内容都已过时(例如Linux API调用不再起作用),并且没有足够的解释.此外,我觉得创建一个设备和转发包等不是学习目的的最佳方式.举例来说,我宁愿只覆盖socket(),
listen(),connect(),accept(),send(),recv()等程序中,而不是转发所有以太网流量的设备/程序负责bookeeping整个系统,而不是一个单独的程序.
我想知道这是否可行.如果没有,我想知道在Linux上测试TCP实现的最简单方法.
因为我正在关注RFC 793,所以如果我的应用程序中可以拥有IP(RFC中提到的Internet协议)API,那就太棒了.这是可能的还是我不得不搞乱TUN/TAP的东西?
谢谢..
小智 0
您所需要做的就是拦截应用程序发送的所有带有位(syn、ack、fin 等)的 tcp 数据包,并查看其是否正常工作:
可以简单地使用wireshark或其他嗅探器来完成。测试时,您将看到包含您发送的位的所有 tcp 数据包。
为了查看应用程序正在调用的 Linux 系统调用,您可以使用 GDB 或任何其他调试器。