标签: libpcap

如何在Ubuntu中以eclipse身份调试应用程序?

我正在使用libpcap编程应用程序.当我在正常模式下调试应用程序时,pcap无法获取网络设备.似乎我必须在root中调试应用程序.如何在root中调试应用程序?我有root密码.我认为eclipse有这样的选项,可以为调试应用程序添加root,但我不知道该怎么做.请帮忙.

c eclipse debugging root libpcap

33
推荐指数
2
解决办法
3万
查看次数

在wireshark中设置数据包长度的过滤器

我捕获了一个pcap文件并将其显示在wireshark上.我想分析那些'Length'列等于443的udp数据包.

在wireshark上,我试图找到适当的过滤器.

udp && length 443 # invalid usage
udp && eth.len == 443 # wrong result
udp && ip.len == 443 # wrong result
Run Code Online (Sandbox Code Playgroud)

顺便说一句,wireshark的过滤器可以直接应用于libpcap的过滤器吗?

pcap wireshark libpcap

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

将pcap转换为JSON的最简单方法

我有一堆用tcpdump创建的pcap文件.我想将这些存储在数据库中,以便于查询,索引等.我认为mongodb可能是一个不错的选择,因为以Wireshark/TShark将它们呈现为JSON文档的方式存储数据包似乎很自然.

应该可以使用tshark创建PDML文件,解析它们并将它们插入到mongodb中,但我很好奇是否有人知道现有/其他解决方案.

json tcpdump pcap wireshark libpcap

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

解析WiFi数据包(libpcap)

我一直在研究如何让一个OpenWRT路由器记录WiFi探测请求到MySQL数据库(它存储每个探测请求数据包的MAC地址和RSSI信息以及其他特定于路由器的数据).

在研究了libpcap之后,我已经能够拼凑出一个基本的小程序,只需使用过滤器表达式('wlan subtype probe-req')在监视器接口(mon0)上嗅探数据包,然后输出原始数据包十六进制 有了libpcap在线提供的信息,这部分相当简单.

现在我就陷入困境:如何解析WiFi数据包以检索我正在寻找的信息(RSSI和源MAC地址)?

要说清楚,我不是要求代码去做(虽然我不会抱怨,如果你想提供一些:D).我只是在寻找某种指导来理解哪个字节是哪个 - 如果你愿意的话,那就是WiFi数据包路线图.

有一些很好的教程可用于解析通过以太网进入的数据包,但是我无法找到任何可以帮助解析与WiFi特定相关的标头.我假设这将是一个非常简单的过程 - 只需抓取RSSI和源MAC的相关字节 - 但同样,我还没有找到任何关于哪个字节的文档.

我知道这已经完成了,但我会说实话:在查看tcpdump的源代码时,我完全迷失了.

那么,有没有人知道如何解析WiFi数据包的良好资源?

干杯

编辑:更具体的答案

RSSI位于RadioTap标题中(嗯,在Linux上).使用radiotap-parser.c以及它所依赖的文件(在与我链接的文件相同的目录中找到)将RSSI从数据包中拉出是相当简单的.如果有人在使用radiotap-parser.c时遇到问题,请随时与我们取得联系.

radiotap函数使得拉出源MAC地址非常简单,因为radiotap头结构包含radiotap头(it_len)的长度,它是可变的.因为我只解析具有固定长度的探测请求(在这里查看第17页),所以只需要指向一个指针packet + it_len + 10(源MAC地址在MAC帧开始后10个字节开始,从哪里开始) radiotap标题结束).从该指针开始的6个字节addr2位于802.11帧中(同样,请参见此处的第17页).

c parsing packet wifi libpcap

14
推荐指数
1
解决办法
1万
查看次数

从PCAP嗅探重建数据

我试图通过libpcap嗅探HTTP数据,并在处理TCP有效负载后获取所有http内容(标头+有效负载).

根据我在编写一个http嗅探器(或任何其他应用程序级嗅探器)的讨论,我面临着由于碎片问题 - 我需要重建整个流(或对其进行碎片整理)以获得完整的HTTP数据包,这就是我的地方需要一些帮助.

在期待中感谢!!

defragmentation http sniffer libpcap

12
推荐指数
2
解决办法
2万
查看次数

libpcap是否在它们下面使用原始套接字?

我对使用原始套接字和libcap感到有些困惑.可以,任何人都可以简单地指出使用两者的优点.我看了几个链接,但是,它让我感到困惑.

raw-sockets libpcap

12
推荐指数
2
解决办法
5033
查看次数

在Golang的原始插座嗅探

我有一个关于使用golang进行tcp数据包嗅探的问题.我们编写了一个小工具,可以捕获从光纤Tap传来的所有传入的TCP数据包.

当前实现在Linux下使用libpcap包装器.我们需要将此工具移植到Windows.当然,目前还不可能.

所以我的问题是,是否有一个用于嗅探数据包的跨平台解决方案?我们只需要TCP数据包,IP头,没有以太网数据,也不需要libpcap的所有功能.

如果没有跨平台解决方案,那么两个Code实现也可以.我知道可以在Linux下使用原始套接字(在Windows下有一些限制).Golang是否支持原始套接字,是否有一个用套接字嗅探数据包的示例实现?

坦克!:-)

networking sniffing go libpcap

12
推荐指数
2
解决办法
9968
查看次数

libpcap IP数据包重组

我正在寻找使用libpcap*在C中重新组装IP数据包的示例代码.在libpcap库中正式实现IP数据包碎片整理吗?我找到了这个提议:http://www.mail-archive.com/tcpdump-workers@lists.tcpdump.org/msg02991.html [ this ] [1].

是否有任何IP数据包碎片整理的实现.

[1]:http://www.mail-archive.com/tcpdump-workers@lists.tcpdump.org/msg02991.html [+]

*寻找示例代码的原因仅仅是为了娱乐和学习,我不想花太多时间来编写IP数据包重组的代码.

c ip-address libpcap

11
推荐指数
1
解决办法
4241
查看次数

11
推荐指数
1
解决办法
9084
查看次数

Pcap函数有"未定义的引用"

我正在尝试阅读本教程:http: //www.tcpdump.org/pcap.html

现在我使用以下命令安装pcap(代码提示和所有工作):

sudo apt-get install libpcap-dev
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下代码(文件名是example_pcap.c):

#include <stdio.h>
#include <pcap.h>

int main(int argc, char *argv[]) {
    char *dev, errbuf[PCAP_ERRBUF_SIZE];

    dev = pcap_lookupdev(errbuf);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据我已经看到的许多问题,他们说使用这个编译它:

gcc -lpcap example_pcap.c -o example_pcap
Run Code Online (Sandbox Code Playgroud)

但是我仍然收到以下错误:

example_pcap.c:(.text+0x32): undefined reference to `pcap_lookupdev'
Run Code Online (Sandbox Code Playgroud)

c linux pcap undefined-reference libpcap

11
推荐指数
1
解决办法
1万
查看次数