10得票1回答
如何使用Golang通过使用gopacket组成原始TCP数据包并通过原始套接字发送它

我想使用 gopacket 来构造自定义的 TCP 数据包,然后使用 raw sockets 发送它们。 这里有一个简短易读的示例 Go 程序,演示了我想要做的事情:package main import ( "code.google.com/p/gopacket" "co...

10得票2回答
回环接口上是否可能使用原始套接字?

我们正在尝试通过原始套接字与监听 Linux 回环接口的服务器通信,但似乎服务器没有收到我们发送的任何数据包。我们发送的数据包在 Wireshark 中是可见的。 在回环接口上使用原始套接字是否可能?(请不要问为什么我们需要它:这太复杂了,在这里解释不清楚) 编辑:这是我们打开它的方式。_...

10得票4回答
时间戳传出数据包

我试图获取使用原始套接字发送的出站数据包的准确时间戳。根据Linux/Documentation/networking/timestamping.txt中的说明,“对于发送时间戳,出站数据包被环回到套接字的错误队列,并附有发送时间戳。可以使用recvmsg(flags=MSG_ERRQUEUE...

10得票1回答
在Java中的原始套接字

我对Java套接字编程还比较陌生。我已经了解到,Java只处理Internet域套接字,并支持UDP、TCP和原始IP协议。我想知道Java是否支持原始套接字而不使用任何第三方应用程序?如果可能的话,有人可以给我提供一个小例子吗?任何小建议都将不胜感激!

8得票5回答
Python TCP堆栈实现

有没有一种Python库实现了独立的TCP协议栈? 我不能使用通常的Python套接字库,因为我正在通过套接字接收数据包流(它们通过此套接字进行隧道传输)。当我收到一个针对特定端口的TCP SYN数据包时,我想接受连接(发送syn-ack),然后获取由另一端发送的数据(适当地进行ack)。 ...

8得票2回答
为什么我无法发送这个 IP 数据包?

我正在尝试使用c#发送一个IP数据包。 destAddress = IPAddress.Parse("192.168.0.198"), destPort = 80; // Create a raw socket to send this packet raw...

8得票4回答
C编程中的TCP校验和

我最近几天一直在尝试计算TCP的校验和,但是一直遇到困难。我在互联网上查看了很多资料,但是没有一个例子能够教你如何计算TCP的校验和。我还查看了RFC文档,但仍然无法解决: 下面是我用来生成校验和的代码: unsigned short checksum(unsigned short * b...

8得票2回答
异步libpcap: 丢包?

我有一个程序,使用原始套接字向主机发送一组TCP SYN数据包,并使用带过滤器的libpcap获取响应。我尝试在异步I/O框架中实现这个程序,但似乎libpcap会丢失一些响应(即当TCP SYN和响应之间的时间少于100微秒时,第一组数据包就丢失了)。 pcap句柄的设置如下: pcap_...

8得票2回答
设置syn标志发送原始tcp数据包只会通过lo接口而不是我想要的eth0。

我想向我的httpd服务器发送一个syn数据包,并获得响应的syn-ack数据包。但是,当我使用Wireshark进行监视时,数据包是由我的本地接口lo而不是eth0发送的。 我已经尝试在下面的代码中设置一些不同的setsockopt值,但似乎没有任何作用,它总是使用lo接口而不是eth0。...

8得票2回答
创建一个SOCK_RAW套接字,仅用于发送数据而不包含任何recvform()函数。

如果我创建的套接字类型为SOCK_RAW,只是发送一些数据而不接收任何数据,在内核继续接收网络数据包并将其数据报复制到某个缓冲区(应用程序的缓冲区?)时,是否会出现问题?换句话说,在somebuffer填满后会发生什么?错误或忽略? 我不知道如何防止内核将数据报的副本传递给我的应用程序。 ...