libpcap相关内容

pcap_open_dead 模拟完整的 UDP 数据包捕获

跟进我关于创建 pcap 文件的问题,我现在想模拟保存完整的 UDP 数据包,包括以太网、IP 和 UDP 标头. 我应该使用哪种 DLT_XXX 类型?我相信 pcap_dump() 在使用 pcap_open_dead(DLT_RAW, 65535) 时 跳过 以太网标头. 解决方案 如果你想模拟一个完整的 UDP-over-IP-over-Ethernet 数据包,你需要 DL ..
发布时间:2022-01-22 17:27:28 服务器开发

如何确定目的MAC地址

我的应用程序在 CentOS 5.5 上运行我需要使用 libpcap API 发送原始数据包: pcap_inject() 或 pcap_sendpacket() 到具体的IP地址如何确定 MAC 地址属于特定目标? 解决方案 看起来你想要的是 ioctl 和 SIOCGARP.那应该让您查询您的arp缓存.我假设有问题的主机在您的本地网络上,或者您将获得的只是您的路由器. 您 ..
发布时间:2022-01-19 16:37:25 服务器开发

使用 TPACKET_V2 时 Vlan id 设置为 0

我对这个 TPACKET_V2 的使用有疑问. 我的问题是,在套接字上设置这种类型的数据包后,当我尝试接收一些数据包时,我无法从数据包中读取 vlan id(当然是从数据包的标头中) vlan_tci 永远为 0. 现在我使用的是 open suse sp1,当我在 sless sp2 上运行我的程序时,我能够使用在 sless sp1 上不起作用的同一程序获取 vlan id,但是奇 ..
发布时间:2022-01-19 16:32:10 服务器开发

可以为 iPhone/armv6 编译 libpcap 吗?

尝试编译一个使用 pcap.h 的基本程序.我已经在我的 Mac OSX 机器上设置了环境,它使用 iPhone 3GS 的 iPhone 3.1.3 SDK.我还将 libpcap 安装到 ~/libpcap 以便我可以使用 -I 标志告诉 gcc 在哪里查找头文件.但是,它失败并显示 ld 警告,指出该文件不是所需的架构. 我正在使用以下行进行编译: /Developer/Platfo ..
发布时间:2021-11-17 02:12:05 移动开发

当 TCP 序列号到达而不是预期时会发生什么?

我正在编写一个程序,它使用 libpcap 来捕获数据包并重组 TCP 流.我的程序只是监控流量,因此我无法控制数据包的接收和传输.我的程序忽略所有非 TCP/IP 流量. 我根据 ISN 计算下一个预期序列号,然后是连续的 SEQ 编号.我设置了它,以便每个 TCP 连接都由源 IP、源端口、目标 IP 和目标端口组成的元组唯一标识.一切顺利,直到我收到一个序列号与我预期不同的数据包.我上 ..
发布时间:2021-09-04 20:01:21 其他开发

取消引用 pcap_t 结构的不完整类型的指针

我正在用 C 编写代码并使用 libpcap 库.我想查看 pcap_t 结构的字段,但总是有错误: 错误:解引用指向不完整类型的指针 最小代码如下: #include #include int main(){字符 errbuf[PCAP_ERRBUF_SIZE];pcap_t *句柄;handle=pcap_open_live("eth0", 65535, 1, 1, errbuf);p ..
发布时间:2021-08-31 19:15:39 其他开发

当scapy和pypcap丢失严重时如何嗅探python上的所有数据包?

我尝试使用 python 在 Win10 上嗅探数据包.但是,我发现很多数据包实际上被 scapy 丢弃了. 例如,我从 ftp 下载了一个 2 MB 的文件,wireshark 捕获了近 2000 个数据包,而 scapy 只捕获了 500 个. 我尝试过 pypcap,结果几乎一样,超过一半的数据包被丢弃,尤其是在下载时. 是否有解决方案可以避免这种丢失并使 scapy 执行 ..
发布时间:2021-07-16 18:55:27 Python

ohrwurm 如何使用 libpcap 和 arpspoof 破坏 RTP 流量?

我正在尝试评估一个名为 ohrwurm 的工具,该工具声称能够破坏 RTP 流量两个 SIP 端点之间.通过阅读其源代码,我不相信它有效,并且会在我尝试之前喜欢其他人的意见. 前提很简单: 假设端点 A 的 IP 地址为 192.168.0.11,端点 B 的 IP 地址为 192.168.0.22. 在与 A 和 B 位于同一子网上的第三个机器 C 上,在两个 SSH 会话中执行以 ..
发布时间:2021-07-11 18:34:11 其他开发

找出 RTP 最大大小

我已阅读 RTP 数据包最大大小? 和 最大 rtsp(over tcp) 数据包大小是多少? 但这并没有回答我的问题问题. 我如何知道 rtp/rtsp 的最大大小是多少?那只取决于 MTU 吗?rtp/rtsp 不会比 MTU 大吗? 我已经用 ifconfig eth1 mtu 1000 up 更改了 MTU,但我仍然得到了长度为 1440 的 RTSP 数据包 解决方案 ..
发布时间:2021-07-11 18:33:39 其他开发

用 libpcap 合并两个 pcap 文件

我已经知道如何读取 pcap 文件并获取其中的数据包.但是如何将数据包写入新的 pcap 文件?我需要这个来将两个 pcap 文件合并为一个. 解决方案 根据我的评论,libpcap/WinPcap 是一个库,而不是一个程序,因此要使用 libpcap/WinPcap 合并捕获文件,您必须编写您自己的代码进行合并,使用 libpcap/WinPcap 读取输入文件并写入输出文件. 您 ..
发布时间:2021-06-14 20:42:33 其他开发

获取 Npcap IPv6 源地址和目标地址

我正在尝试使用 npcap SDK (https://nmap.org/npcap/) 在 Windows 中.它适用于 IPv4,但它为 IPv6 地址的源和目标返回相同的地址.这是我的 packet_handler 回调函数的代码: void packet_handler(u_char* param, const struct pcap_pkthdr* header, const u_cha ..
发布时间:2021-06-14 20:42:27 C/C++开发

捕获实时流量时如何打开纳秒精度?

在捕获实时数据包时,如何告诉 libpcap v1.6.2 在 struct pcap_pkthdr::ts.tv_usec 中存储纳秒值(而不是微秒值)? (注意:这个问题类似于如何在 libpcap 中捕获实时数据包时启用纳秒分辨率? 但这个问题很模糊,我决定提出一个新问题.) 对于离线和“死"捕获,可以使用以下函数告诉 libpcap 用纳秒值填充 struct pcap_pkthd ..
发布时间:2021-06-14 20:42:07 服务器开发

pcap 纳秒 Python

无论如何,是否可以使用现有的 python 库从 pcap 中获得纳秒?我有一个纳秒级的 pcap 文件,它与 Wireshark 一起工作得很好,但 Python pcapy 库甚至不会导入文件. 此功能确实存在于 c libpcap 中(请参阅:此线程)但是有人将它移植到 Python 中吗?我查看了源代码,但更改 pcapy 以允许这样做超出了我的头脑. 纳秒对于我正在做的事情是 ..
发布时间:2021-06-14 20:41:49 Python

802.11 FCS (CRC32)

以下代码是否正确计算了无线 802.11 帧的 FCS 值? 因为下面代码产生的值与wireshark显示的值不匹配. const uint32_t crctable[] = {0x00000000L、0x77073096L、0xee0e612cL、0x990951baL、0x076dc419L、0x706af48fL、0xe963a535L、0x9e6495a30x0edb8832L、0x7 ..
发布时间:2021-06-14 20:41:40 其他开发

在侦听所有设备上的网络流量时,如何识别数据包的接口?

我正在编写一个 python 程序,它需要监听所有网络设备上的流量并根据传入接口识别数据包.为了监听所有接口,我在没有指定设备的情况下开始捕获,但我无法表示特定数据包的接口.这是怎么做的? 解决方案 我认为 MAC 地址对您来说已经足够了. 数据包的前 6 个八位字节是目的 MAC 地址,紧接着是源 MAC 地址的 6 个八位字节. 来源 ..
发布时间:2021-06-14 20:41:23 Python

在监控模式下使用 libpcap 嗅探 wifi

问题陈述 调用 pcap_activate() 导致 PCAP_ERR_RFMON_NOTSUP 错误,即不支持 RF 监控模式. 背景 我正在编写小型 C 程序,其工作是在监控模式下监听我笔记本电脑的 wifi 卡.笔记本电脑运行的是 Ubuntu 12.04 LTS.我运行了 airmon-ng start wlan0 命令,然后出现了 mon0 界面.以下是运行 airmo ..
发布时间:2021-06-14 20:41:11 其他开发

如何从头开始编写pcap文件,装饰libpcap函数?

我有这个代码,它可以很好地用 libpcap 编写一个 pcap 文件(只有用于测试的以太网协议): 结构以太网{u_char mac1[6];u_char mac2[6];u_short 协议;};int main() {pcap_t *pd;pcap_dumper_t *pdumper;pd = pcap_open_dead(DLT_EN10MB, 65535);pdumper = pcap ..
发布时间:2021-06-14 20:41:05 其他开发