libpcap相关内容
跟进我关于创建 pcap 文件的问题,我现在想模拟保存完整的 UDP 数据包,包括以太网、IP 和 UDP 标头. 我应该使用哪种 DLT_XXX 类型?我相信 pcap_dump() 在使用 pcap_open_dead(DLT_RAW, 65535) 时 跳过 以太网标头. 解决方案 如果你想模拟一个完整的 UDP-over-IP-over-Ethernet 数据包,你需要 DL
..
我的应用程序在 CentOS 5.5 上运行我需要使用 libpcap API 发送原始数据包: pcap_inject() 或 pcap_sendpacket() 到具体的IP地址如何确定 MAC 地址属于特定目标? 解决方案 看起来你想要的是 ioctl 和 SIOCGARP.那应该让您查询您的arp缓存.我假设有问题的主机在您的本地网络上,或者您将获得的只是您的路由器. 您
..
我对这个 TPACKET_V2 的使用有疑问. 我的问题是,在套接字上设置这种类型的数据包后,当我尝试接收一些数据包时,我无法从数据包中读取 vlan id(当然是从数据包的标头中) vlan_tci 永远为 0. 现在我使用的是 open suse sp1,当我在 sless sp2 上运行我的程序时,我能够使用在 sless sp1 上不起作用的同一程序获取 vlan id,但是奇
..
尝试编译一个使用 pcap.h 的基本程序.我已经在我的 Mac OSX 机器上设置了环境,它使用 iPhone 3GS 的 iPhone 3.1.3 SDK.我还将 libpcap 安装到 ~/libpcap 以便我可以使用 -I 标志告诉 gcc 在哪里查找头文件.但是,它失败并显示 ld 警告,指出该文件不是所需的架构. 我正在使用以下行进行编译: /Developer/Platfo
..
我正在尝试完成本教程:http://www.tcpdump.org/pcap.html 现在我已经安装了 pcap(代码提示和所有工作): sudo apt-get install libpcap-dev 到目前为止我有以下代码(文件名是example_pcap.c): #include #include int main(int argc, char *argv[]) {char *
..
我正在编写一个程序,它使用 libpcap 来捕获数据包并重组 TCP 流.我的程序只是监控流量,因此我无法控制数据包的接收和传输.我的程序忽略所有非 TCP/IP 流量. 我根据 ISN 计算下一个预期序列号,然后是连续的 SEQ 编号.我设置了它,以便每个 TCP 连接都由源 IP、源端口、目标 IP 和目标端口组成的元组唯一标识.一切顺利,直到我收到一个序列号与我预期不同的数据包.我上
..
我正在用 C 编写代码并使用 libpcap 库.我想查看 pcap_t 结构的字段,但总是有错误: 错误:解引用指向不完整类型的指针 最小代码如下: #include #include int main(){字符 errbuf[PCAP_ERRBUF_SIZE];pcap_t *句柄;handle=pcap_open_live("eth0", 65535, 1, 1, errbuf);p
..
我尝试使用 python 在 Win10 上嗅探数据包.但是,我发现很多数据包实际上被 scapy 丢弃了. 例如,我从 ftp 下载了一个 2 MB 的文件,wireshark 捕获了近 2000 个数据包,而 scapy 只捕获了 500 个. 我尝试过 pypcap,结果几乎一样,超过一半的数据包被丢弃,尤其是在下载时. 是否有解决方案可以避免这种丢失并使 scapy 执行
..
我正在尝试评估一个名为 ohrwurm 的工具,该工具声称能够破坏 RTP 流量两个 SIP 端点之间.通过阅读其源代码,我不相信它有效,并且会在我尝试之前喜欢其他人的意见. 前提很简单: 假设端点 A 的 IP 地址为 192.168.0.11,端点 B 的 IP 地址为 192.168.0.22. 在与 A 和 B 位于同一子网上的第三个机器 C 上,在两个 SSH 会话中执行以
..
我已阅读 RTP 数据包最大大小? 和 最大 rtsp(over tcp) 数据包大小是多少? 但这并没有回答我的问题问题. 我如何知道 rtp/rtsp 的最大大小是多少?那只取决于 MTU 吗?rtp/rtsp 不会比 MTU 大吗? 我已经用 ifconfig eth1 mtu 1000 up 更改了 MTU,但我仍然得到了长度为 1440 的 RTSP 数据包 解决方案
..
我已经知道如何读取 pcap 文件并获取其中的数据包.但是如何将数据包写入新的 pcap 文件?我需要这个来将两个 pcap 文件合并为一个. 解决方案 根据我的评论,libpcap/WinPcap 是一个库,而不是一个程序,因此要使用 libpcap/WinPcap 合并捕获文件,您必须编写您自己的代码进行合并,使用 libpcap/WinPcap 读取输入文件并写入输出文件. 您
..
我正在尝试使用 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
..
在捕获实时数据包时,如何告诉 libpcap v1.6.2 在 struct pcap_pkthdr::ts.tv_usec 中存储纳秒值(而不是微秒值)? (注意:这个问题类似于如何在 libpcap 中捕获实时数据包时启用纳秒分辨率? 但这个问题很模糊,我决定提出一个新问题.) 对于离线和“死"捕获,可以使用以下函数告诉 libpcap 用纳秒值填充 struct pcap_pkthd
..
从 pcap 文件中获取传入的数据包.我在 pcap_compile() 中设置了“入站"过滤器,这里是部分代码. pcap = pcap_open_offline("test.pcap", errbuf);如果(pcap == NULL){fprintf(stderr, "读取 pcap 文件时出错: %s\n", errbuf);退出(1);}char filter_exp[] = "入站
..
无论如何,是否可以使用现有的 python 库从 pcap 中获得纳秒?我有一个纳秒级的 pcap 文件,它与 Wireshark 一起工作得很好,但 Python pcapy 库甚至不会导入文件. 此功能确实存在于 c libpcap 中(请参阅:此线程)但是有人将它移植到 Python 中吗?我查看了源代码,但更改 pcapy 以允许这样做超出了我的头脑. 纳秒对于我正在做的事情是
..
以下代码是否正确计算了无线 802.11 帧的 FCS 值? 因为下面代码产生的值与wireshark显示的值不匹配. const uint32_t crctable[] = {0x00000000L、0x77073096L、0xee0e612cL、0x990951baL、0x076dc419L、0x706af48fL、0xe963a535L、0x9e6495a30x0edb8832L、0x7
..
我想通过一个 pcap 文件并转到每个数据包.然后获取 IP 地址并对其进行操作.最后,我要把它写到一个新的pcap文件中. 我使用 pcap4j 1.6.4 及以下版本获取源 IP 地址: String fname = "文件名";String dumpFile = "newFileName";PcapHandle h = Pcaps.openOffline(fname);PcapDum
..
我正在编写一个 python 程序,它需要监听所有网络设备上的流量并根据传入接口识别数据包.为了监听所有接口,我在没有指定设备的情况下开始捕获,但我无法表示特定数据包的接口.这是怎么做的? 解决方案 我认为 MAC 地址对您来说已经足够了. 数据包的前 6 个八位字节是目的 MAC 地址,紧接着是源 MAC 地址的 6 个八位字节. 来源
..
问题陈述 调用 pcap_activate() 导致 PCAP_ERR_RFMON_NOTSUP 错误,即不支持 RF 监控模式. 背景 我正在编写小型 C 程序,其工作是在监控模式下监听我笔记本电脑的 wifi 卡.笔记本电脑运行的是 Ubuntu 12.04 LTS.我运行了 airmon-ng start wlan0 命令,然后出现了 mon0 界面.以下是运行 airmo
..
我有这个代码,它可以很好地用 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
..