标签: libpcap

我可以使用pcap库接收ipv6数据包吗?

我想将hping3转换为hping6.hping3使用Pcap库接收IPv4数据包.但是我需要接收IPv6数据包.

c tcl ipv6 pcap libpcap

4
推荐指数
1
解决办法
3882
查看次数

如何在C#中打开pcap-ng文件

到目前为止,我一直在使用WinPcap在C#中打开pcap文件:

[DllImport("wpcap.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private extern static IntPtr pcap_open_offline(string fname, byte[] errbuf);
Run Code Online (Sandbox Code Playgroud)

现在我想做类似打开pcap-ng文件的东西,所以我得到纳秒级分辨率(我有一个新的嗅探器:-))

不幸的是WinPcap失败了这个错误:"坏转储文件格式"

任何人都知道如何在Windows中使用pcap-ng?

干杯,佩德罗

c# winpcap pcap libpcap

4
推荐指数
1
解决办法
5584
查看次数

发送802.11帧的"帧控制字段"数据的顺序?

以下是QoS数据的FC字段的位格式:

00|01|0001  01000010
Run Code Online (Sandbox Code Playgroud)

前2位表示版本,下2位表示类型,下4位子类型,ToDS = 0,FromDS = 1,保护位= 1.

那么,上面的数据以什么顺序通过界面发送?(即从左到右或从右到左)

我看到wireshark将数据捕获为" 8842 "(在显示原始数据包数据的最后一段).

但是,如果我编写以下代码来打印FC字段数据:

struct mgmt_header_t {
    u_int16_t    fc;          /* 2 bytes */
    u_int16_t    duration;    /* 2 bytes */
    u_int8_t     addr1[6];    /* 6 bytes */  
    u_int8_t     addr2[6];    /* 6 bytes */  
    u_int8_t     addr3[6];    /* 6 bytes */  
    u_int16_t    seq_ctrl;    /* 2 bytes */
};
void my_callback(u_char *args, const struct pcap_pkthdr *header, const u_char *packet)
{
    int radiotapheader_length = (unsigned short int)(*(packet+2));
    struct mgmt_header_t *mac_header = (struct mgmt_header_t *)  (packet+radiotapheader_length);
    printf("FC …
Run Code Online (Sandbox Code Playgroud)

c wlan libpcap

4
推荐指数
1
解决办法
3669
查看次数

android使用pcap库

我有一个Android应用程序的一般问题,我需要在我的Android应用程序中使用一些pcap功能.因为java不提供原始数据包注入和低层编程的可能性(据我所知,如果我错了请纠正我)所以我一直在寻找替代方案.到目前为止我发现了以下内容:

  • ANDROID NDK
  • JNETPCAP

我应该使用的任何建议或任何人都有其他建议吗?

java android libpcap

4
推荐指数
1
解决办法
5725
查看次数

Pcap和WinPcap有多相似?

我正在尝试做跨平台开发,Windows 7主机,QNX Neutrino目标.在尝试使跨平台开发工作之前,我想测试并使用主机上的代码,但Windows上不支持Pcap.

Pcap和WinPcap之间的语法/函数调用有多相似?我可以接受我为WinPcap编写的代码并让它适用于Pcap和不同的机器吗?

windows cross-platform winpcap libpcap qnx-neutrino

4
推荐指数
1
解决办法
1927
查看次数

libpcap:接收帧和调用回调函数之间的延迟

i am experiencing the following situation: I open with pcap_open_live() one of my network-interfaces. Then i am compiling a filter for pcap for only capturing a specified ethernet-type (ether proto 0x1234). Now i am starting the pcap_loop(). The only thing, that the callback-function executes, is to send a frame via pcap_inject(). (The frame is hard-coded as a global char array).

When i compare now the timestamps of the received and the sent frame (e.g. on wireshark …

c c++ linux-kernel libpcap

4
推荐指数
1
解决办法
2259
查看次数

为什么 libpcap 比使用 raw 嗅探更好?

如果我想在 Linux 中嗅探数据包而不设置任何过滤器,我看到了 2 个选项。

  1. 使用libpcap

  2. 自己使用原始套接字,例如https://www.binarytides.com/packet-sniffer-code-in-c-using-linux-sockets-bsd-part-2/

为什么libpcap比我自己使用原始套接字更好?

c linux packet-sniffers libpcap

4
推荐指数
1
解决办法
994
查看次数

libpcap - 从所有接口捕获数据包

我需要从Linux机器上的所有网络接口捕获数据包.为了做到这一点,我打算使用pcap_open_live()API并将"any"作为设备参数传递.

我有不同类型的端口:以太网端口(比如eth0)和GRE隧道(比如tun0)来自不同类型接口的数据包具有不同的报头格式:

  1. 以太网端口的数据包具有MAC头
  2. 来自隧道的数据包带有Linux"熟"捕获封装(16字节)标头

如何检查pcap_loop()回调处理程序我得到了哪种类型的包头?

linux networking network-protocols pcap libpcap

3
推荐指数
1
解决办法
4040
查看次数

PCAP目的地和来源是相同的

我在使用libpcap时遇到了一些麻烦.我正在使用pcap_loop()这个回调:

void pcap_callback(u_char *useless, const struct pcap_pkthdr *pcap_header, const u_char *packet) {  
    struct ether_header *head = (struct ether_header *)packet;
    struct ip *ip = (struct ip *)(packet + sizeof(struct ether_header));

    u_short eth_type = ntohs(head->ether_type);
    const char *s_ipad = inet_ntoa(ip->ip_src);
    const char *d_ipad = inet_ntoa(ip->ip_dst);
    const char *s_host = ether_ntoa((struct ether_addr *)head->ether_shost);
    const char *d_host = ether_ntoa((struct ether_addr *)head->ether_dhost);

    if (eth_type == ETHERTYPE_IP || eth_type == ETHERTYPE_IPV6) {
        NSLog(@"\nPACKET\ns IP  : %s\ns MAC: %s\n\nd IP  : %s\nd MAC: %s\n\n", s_ipad, …
Run Code Online (Sandbox Code Playgroud)

c++ pcap libpcap

3
推荐指数
1
解决办法
1062
查看次数

嗅探 IPV6 SYN - ACK 数据包时出现问题

我使用以下过滤器表达式来嗅探 IPv4/IPv6 SYN/ACK/FIN/RST 数据包。对于 IPv4 使用 tcpdump 效果很好,但是对于 IPv6 我没有看到任何东西

tcp 端口 80 和 (tcp[tcpflags] & (tcp-syn|tcp-ack|tcp-fin|tcp-rst) != 0)

tcpdump libpcap

3
推荐指数
1
解决办法
2125
查看次数