当前位置:首页 » 编程软件 » libpcap编程

libpcap编程

发布时间: 2022-05-05 04:57:32

① 怎样捕捉icmp的报文

1.工具:Wireshark 跨平台软件 windows 类unix的都有,可以方便抓包,抓包时设置过滤器为icmp就可以了。
2.编程:使用libpcap库,编写一个只获取icmp的程序。也比较简单,在过滤器时设置一下就可以了。
char bpf_filter_string[] = "icmp";
net_interface = pcap_lookupdev(error_content);
pcap_lookupnet(net_interface, &net_ip, &net_mask, error_content);
pcap_handle = pcap_open_live(net_interface, BUFSIZ, 1, 0, error_content);
pcap_compile(pcap_handle, &bpf_filter, bpf_filter_string, 0, net_ip);
pcap_setfilter(pcap_handle, &bpf_filter);
pcap_datalink(pcap_handle)
------

② netfilter和libpcap的作用是一样的吗

本质是一样的,就是有些细节不一样,

而且libpcap是开源的软件,你可以用它来编程抓取底层的报文,这样分析好

③ 想找一些关于winpcap编程的书籍,教程。

WinPcap用户指南

模块
定义
输出函数
过滤串表达式的语法
使用WinPcap编程

--------------------------------------------------------------------------------

详细描述
这节包含了有关wpcap.dll的用户指南。wpcap.dll是一个包含了公共WinPcap API的动态链接库,它输出了一组依赖于系统的函数,用来捕获和分析网络流量。这些函数的用途有:

获取网络适配器列表
获取网络适配器的不同信息,比如网卡描述和地址的列表
使用PC的一个网卡来捕获数据包
向网络上发送数据
有效保存数据包到磁盘,并通过一个接口捕获数据包,就如同从网卡捕获数据一样
使用高级语言创建一个数据包过滤器,并把它们应用到数据捕获中去
wpcap.dll 与 libpcap 兼容,后者是Unix平台下知名的数据包捕获库。这个兼容性意味着你可以开发可移植的网络工具,这些工具既可以运行在Win32系列的操作系统,也可以运行在与Unix兼容的机器上。

这一章节的一些内容直接来自于tcpmp和libpcap的用户手册,它们由tcpmp.org的开发人员维护。因此,如果你想阅读最新的文档,你可以登录 www.tcpmp.org.

注意
有些函数被标注为 deprecated 或 discouraged。这些标签的意思是:

discouraged: 这个函数的功能已经被另一个函数所代替,不过这个函数仍然可以使用。
deprecated: 这些函数只是为了可移植性和向下兼容而存在,它应该被禁止使用,并且强烈建议你使用另一个等价的函数来代替它

④ Libpcap+QT混合编程

思路一片混乱,不明白你要做什么,c语言访问C++的成员?什么时候也不行呀。
如果C语言函数都能很简单的访问C++,那public、private都没有用了。C语言就没有那些关键字。
另外就是不建议开很多线程弄那个pcap,效果很差。
如果就一个线程,用文件内的static的变量代替C++成员变量就可以了(其实多线程也没问题),不过照你目前的这种情况估计要很久才能明白。

linux下c网络编程问题(不能使用第三方类库,如libpcap等)

你这是发项目叫人做,不是出于学习求助目的;还真以为会有人帮你做,别脑残了

⑥ libpcap 编程问题 很急!!

23行应为printf("Net Ip Address is :%s\n",net_ip_string);
26行应为printf("Network Mask Address is :%s\n",net_mask_string);

对于inet_ntoa的问题,加上以下三个头文件试试
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

之前提到的
printf("Net Ip Address is :%s\n",net_ip_address);
修改成printf("Network Mask Address is :%s\n",net_mask_string); 有没有改?

⑦ 新手求助,关于libpcap的c语言编程

#include<stdio.h>
int main(){
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
c=c/100;
printf("%d %d %d",a+=30,b*=5,c%10);
return 0;
}

⑧ 如何基于libpcap/winpcap实现包捕获

本质是一样的,就是有些细节不一样,而且libpcap是开源的软件,你可以用它来编程抓取底层的报文,这样分析好,另外一个一般是结合wireshark软件来实现,没有前一个灵活

⑨ 请问libpcap抓包程序中的pcap_t和pcap_pkthdr是什么意思

struct pcap_pkthdr {
struct timeval ts; /* time stamp */时间戳
bpf_u_int32 caplen; /* length of portion present */在线抓到包的长度,无符号整形
bpf_u_int32 len; /* length this packet (off wire) */离线包长度
};
pcap_pkthdr是.pcap文件中包的头部,typedef struct pcap pcap_t,pcap_t是定义的一个结构体的对象。你看看编程的环境配的对不对,Winpcap这种抓包和分析包必须装好相应的驱动和配好include和lib文件,找Winpcap的函数和数据文档看看,其中定义了好多数据类型和结构体,我也开始学,可以多看看这些,了解下编起来就游刃有余了,你看我这样回答行不行,如果不行咱们再交流。

⑩ winpcap是什么软件卸载了没问题吧

winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。

winpcap的主要功能在于独立于主机协议(如TCP-IP)而发送和接收原始数据包。也就是说,winpcap不能阻塞,过滤或控制其他应用程序数据包的发收,它仅仅只是监听共享网络上传送的数据包。因此,它不能用于QoS调度程序或个人防火墙。目前,winpcap开发的主要对象是windows NT/2000/XP,这主要是因为在使用winpcap的用户中只有一小部分是仅使用windows 95/98/Me,并且MS也已经放弃了对win9x的开发。因此本文相关的程序T-ARP也是面向NT/2000/XP用户的。其实winpcap中的面向9x系统的概念和NT系统的非常相似,只是在某些实现上有点差异,比如说9x只支持ANSI编码,而NT系统则提倡使用Unicode编码。有个软件叫sniffer pro.可以作网管软件用,有很多功能,可监视网络运行情况,每台网内机器的数据流量,实时反映每台机器所访问IP以及它们之间的数据流通情况,可以抓包,可对过滤器进行设置,以便只抓取想要的包,比如POP3包,smtp包,ftp包等,并可从中找到邮箱用户名和密码,还有ftp用户名和密码。它还可以在使用交换机的网络上监听,不过要在交换机上装它的一个软件。还有一个简单的监听软件叫Passwordsniffer,可截获邮箱用户名和密码,还有ftp用户名和密码,它只能用在HUB网络上。着名软件tcpmp及ids snort都是基于libpcap编写的,此外Nmap扫描器也是基于libpcap来捕获目标主机返回的数据包的。 winpcap提供给用户两个不同级别的编程接口:一个基于libpcap的wpcap.dll,另一个是较底层的packet.dll。对于一般的要与unix平台上libpcap兼容的开发来说,使用wpcap.dll是当然的选择。

热点内容
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:633
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:859
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:432
Pua脚本 发布:2025-05-14 19:24:56 浏览:448
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:460
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:271
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:970
mq脚本 发布:2025-05-14 18:45:37 浏览:25
仙境传说ro解压失败 发布:2025-05-14 18:45:01 浏览:868
betweenand的用法sql 发布:2025-05-14 18:39:25 浏览:250