raw-sockets

    7热度

    2回答

    我正在开发一个IEEE802.11帧解析器程序,在Linux内部使用libpcap,使用raw C。我可以轻松解析RadioTap和IEEE802.11头文件,但是我找不到在IEEE802.11 MPDU中封装的协议名称。不幸的是,在IEEE802.11头中没有任何字段指示封装的协议(如Ethernet头中的字段)。 任何解决方案?

    1热度

    1回答

    我正在学习有关Linux和教程中原始套接字编程我发现此代码巧合: struct ipheader { unsigned char iph_ihl:5, iph_ver:4; //<--------------These unsigned char iph_tos; unsigned short int iph_len; unsigned short int iph_ident; un

    2热度

    2回答

    以下代码是一个旨在发送ICMP回应请求并接收回复的程序。 /* Forgive my lack of error handling :) */ SOCKET ASOCKET = INVALID_SOCKET; struct sockaddr saddr; struct sockaddr_in *to = (struct sockaddr_in *) &saddr; struct

    0热度

    1回答

    我试图捕获VoLTE android手机上的包。 当打开VoLTE时,它具有IPv6地址。 connect to android phone shell through adb shell 该地址所使用的手机连接到IMS核心网。 我试图做的: 嗅探tcpdump的这个接口上的包。但我什么都得不到。 有没有人做类似的事情? # tcpdump -i rmnet_ims -s 0 -n -w pack

    1热度

    1回答

    我有下面的代码让我发送到我的机器的所有IP数据包: import socket rs = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) while True: print rs.recvfrom(65565) 我得到的东西多行这样打印出来给我的控制台 ('E \x004tC\x00

    0热度

    1回答

    我的Linux系统中有两个接口 - eth0和eth1。我在eth0上打开了一个原始套接字,并且正在监听它的传入数据包。当数据包来自eth0时,在将以太网报头(特别是目的MAC地址改为eth1的MAC地址)更改后,我将其转发给eth1。数据包现在应该被接口接受并发送给内核进行进一步处理,并最终传送给正在等待的应用程序。但由于某种原因,数据包到达eth1(正如我从wireshark中看到的那样),但

    5热度

    2回答

    我正在发送一些ping数据包,通过我的linux机器上的一个原始套接字。 int sock_fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 这意味着,我指定的IP数据包报头时,我写入套接字(IP_HDRINCL被隐含)。 写入与send插座失败,告诉我我需要指定一个地址。 如果我使用sendto那么它工作。对于sendto我必须指定一个sockaddr

    0热度

    2回答

    我正在使用以下python脚本来处理原始套接字数据包传输。数据包传输很好,但我无法从另一端打印传入数据包。 from socket import socket, AF_PACKET, SOCK_RAW s = socket(AF_PACKET, SOCK_RAW) s.bind(("eth0", 0)) src_addr = "\x54\xbe\xf7\x40\xf5\x82" dst_

    1热度

    1回答

    我重用了这个site的原始套接字片断,并删除了TCP部分并添加了我的ICMP部分来请求回显。我的两台机器都在同一个LAN上,运行Ubuntu 32位。 我给校验功能我ICMP指针,但它无法计算正确的校验: icmph->icmp_sum = csum((unsigned short *) datagram + sizeof(struct iphdr), sizeof(struct icmp_hea

    1热度

    2回答

    我正在用C编写一个工具,用于记录在我的Linux系统上运行的不同应用程序的数据使用情况。为此,我创建了一个原始套接字,然后使用“eth0”(它是我的接口的名称)绑定它。但我的问题是,这个套接字只捕获传入数据包(即:目标MAC地址作为我系统MAC地址的数据包)。我无法找到任何具有源MAC地址的数据包作为我系统的MAC地址。所以这意味着我自己的机器写入的数据包不会被原始套接字捕获。但我想在两个方向上捕