raw-sockets

    -1热度

    2回答

    我想通过原始套接字发送TCP数据包,然后卡住了tcp报头的校验和字段。由于我不知道如何找出原始套接字使用的实际IP地址,因此为校验和计算构建TCP伪标头似乎是不可能的。

    0热度

    1回答

    我有一段代码将一个实现ping命令的代码作为更大代码的一部分。 下面是这种情况: 润平用 “-c” 或 “-t” 选项。 随后通过Ctrl + C终止 大约一个小时后,我发现ping失败。 这里是 “插座” 呼叫: 袜子=插座(IP_AF_INET,IP_SOCK_RAW,IP_IPPROTO_ICMP); 在调用recvfrom之前,套接字被设置为1秒的超时值。 当ping失败时,我观察到err

    0热度

    1回答

    空隙parse_message(字符*缓冲液,INT LEN) { struct iphrd *ip_header = (struct iphrd *)buffer; int recv_hopcount = (unsigned int)(ip_header->ttl); //hops[recv_hopcount]++; } 错误:解引用指针不完全型 我有在头文件中包含netinet/i

    1热度

    1回答

    我正在为Python中的无线网桥编写一个小配置实用程序,使用以太网II协议0x8888的原始套接字。有几个关于python原始套接字的教程,但是它们都似乎对网络接口(“eth0”,“eth1”等)进行了硬编码,这是我不想要的,因为每台计算机可能有不同的网络接口(在我的笔记本上它的“wlan0”)。 我当前工作的代码是(不幸的是用硬编码“为wlan0”): # Create an Ethernet

    0热度

    2回答

    我想捕获传入以及从Linux上的主机传出的传出icmpv6数据包。我写了下面的程序来做到这一点。在这个程序中,我们可以捕获传入的数据包,而不是传出的数据包。陷印适用于icmpv4数据包(代码的注释部分),但对于icmpv6数据包则是一个问题。我对使用包过滤(Berkley包过滤)机制不感兴趣,与我在下面使用的方法相比,它有点侵入性。你能否告诉我是否有其他可以用来做这件事的东西?还是Linux提供其

    2热度

    1回答

    我一直在使用C中的Raw Berkeley套接字,它允许程序员访问Internet协议套件的第2层(IP标头)。我想知道原始套接字如何处理第1层(链路层)上的传输,特别是无线局域网。 例如,套接字如何知道将数据包发送到哪个网络接口(eth0或wlan0)? 如果我在无线路由器后面,我还应该使用我的LAN地址(192.168.1.1)还是我的路由器的Internet地址(74.125.226.68)

    2热度

    2回答

    我编写了一个小工具,它只是在你给它的任何ip和端口号时抛出一个syn包,当我弹出Wireshark时,发送的包看起来很好,没有错误或任何东西,它看起来就像典型的TCP SYN数据包。 由于某些原因,服务器不会发送ACK。所以,有两个问题:一,没有应答。二,我甚至不知道如何通过我的程序(bind()?)来接收ack响应。 我修改了我在网上找到的syn flooder中的一些代码,因为它对我来说似乎是

    2热度

    2回答

    我开始了一个需要使用网络级数据包(如IP/ICMP/UDP/TCP数据包)的项目。 处理它有两种主要方法:原始套接字和Winpcap/libpcap。 我知道pcap在OS上安装驱动程序,并允许程序员捕获和发送数据包。另一方面,在Windows 7或更高版本中有一些原始套接字有一些限制。 该项目需要向路由器发送一些IP/ICMP/UDP/TCP数据包并分析响应,如IP-Identifier,TTL

    1热度

    1回答

    如何模拟从非阻塞客户端连接以体验EINPROGRESS错误? 我可以从服务器做些什么,这样的错误返回给客户端(即调整某些TCP定时器,原始套接字服务器等)

    3热度

    2回答

    我正在使用C语言的原始套接字。 我需要发送并接收原始以太网数据包。 分组应该与IEEE 802.3标头开始: MAC DST [0-5] - MAC SRC [6-11] - ETH TYPE [12-13] 捕捉使用Wireshark我的报文见以下结构: MAC DST [0-5] - MAC SRC [6-11] - LENGTH [12-13] - TRAILER [14-58] -....