如何在node.js中创建较低级别的网络数据包

时间:2012-01-14 20:07:28

标签: c node.js network-programming

我正在开展一个需要创建数据包的项目,例如ICMP ECHO和其他可以启动TCP 3次握手的数据包。 node.js的最佳方法是什么?我没有在node.js中看到任何包操作库如scappy(python)。我现在所拥有的只是node-pcap,它用于监视数据包。但是我如何从头开始创建新的数据包呢?

3 个答案:

答案 0 :(得分:3)

npm上有一个模块,可让您访问原始套接字:https://npmjs.org/package/raw-socket

答案 1 :(得分:1)

node.js目前不提供原始套接字API,据我所知,没有人将它实现为npm模块,所以我认为目前不可能这样做。 / p>

答案 2 :(得分:1)

你可以从node-pcap开始,并将数据包注入添加到它与v8的c ++绑定中。您也可以在Linux上打开像tuntap这样的特定设备,并使用流注入数据包。我不知道任何允许节点中任意ioctl的绑定,但它们可能存在。