所以,我正在试着做一个玩具(bash?)在原始套接字之上实现TCP,以便更好地理解协议。
我知道不推荐使用/dev/raw而支持O_DIRECT (为什么?)并且在我的内核中没有启用。
$ zgrep -i raw /proc/config.gz
CONFIG_IP_NF_RAW=m
CONFIG_IP6_NF_RAW=m
CONFIG_SERIO_RAW=m
# CONFIG_RAW_DRIVER is not set
CONFIG_SND_RAWMIDI=m
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_HIDRAW=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_GADGET_VBUS_DRAW=2
# CONFIG_LINE6_USB_RAW is not set
CONFIG_ATH6KL_HTC_RAW_INTERFACE=y在没有使用O_DIRECT的linux实现的情况下,我找不到关于如何发送数据的信息,我想这是我应该使用的。
发布于 2011-04-20 03:52:36
这是一篇关于Linux7.0和Linux2.6中的原始套接字的信息文档。
SOCK_RAW揭开神秘面纱
Linux是我写的一篇关于解释FreeBSD 7.0和Linux2.6内核中原始套接字机制实现的论文。它深入研究了网络内部,展示了这种强大的套接字类型的详细信息以及它在幕后是如何工作的。
http://sock-raw.org/papers.html
如果你在Bash中没有/dev/tcp,你可能想看看Richard Stevens程序(http://www.icir.org/christian/sock.html)。
https://stackoverflow.com/questions/5719180
复制相似问题