当前位置:首页 » 净水方式 » pcap内核过滤包长

pcap内核过滤包长

发布时间: 2021-02-04 20:51:45

① winpcap捕获数据包要用多线程吗

:libpcap和winpcap最大的不同就是 内核缓冲区,用户缓冲区等都不能设置,没有提供这样的函数,要编译libpcap源码。

② 有没有什么类似Winpcap的数据包拦截的库

捕获包的话。。除了Winpcap这个库外好像还没有第二种。
Nt内核之后的WinSock不支持自己封装MAC帧的RawSocket了。
所以如果有能力就写NDIS驱动吧。

③ 如何基于WinPcap网络数据包捕获程序来设计完成数据包捕获程序

看看

④ 采用winpcap过滤从MAC地址A到MAC地址B的以太网数据包的过滤语句怎么写

⑤ WinPcap能不能阻断数据包

确实不能阻断数据包,他是用来抓包的。
WinPcap产生的目的,就是为应用程序提供这种访问方式; WinPcap提供了以下功能 :

捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
将原始数据包通过网络发送出去
收集并统计网络流量信息

所以你只能用WINPCAP进行收发数据包,对你接收到的数据包进行过滤,或者统计你收到的数据包流量。所以你不能阻断数据包的传输,而且他确实是个提取分析用。所以那个人说的很对。就算你筛选了你要收到的数据包,但是那也只是你所编辑的程序只提取你需要的数据包,实际上你相应的网卡上仍然收到了所有的数据包。你可以用WIRESHARK 软件看到。winpcap抓包所能实现的功能基本,都在WIRESHARK上面体现了。都是winpcap还能发送数据包。

当然,如果你是网络高手,你可以根据不同传输协议,搞些MAC或IP欺骗,拦截一些不属于你的数据包,但是这个就不是很容易办到了。

你上面问道如何来丢弃数据包。。是丢弃你要发的数据包?还是丢弃你接收的数据包?
如果是丢弃接收的数据包的话,那就是筛选了过滤了,要用到 pcap_compile() 和 pcap_setfilter() 函数了。
如果是丢弃你要发送的数据包,数据包发送出去后就不收你控制了,你无法丢弃。如果你要编程,你可以进我的网络空间观摩下。

⑥ winpcap 能不能只捕获网卡收到的数据包,而不捕获网卡自己发送的数据包啊

可以..设置filter为的目标主机为自己就可以了。或者忽略掉自己发出去的数据包

⑦ 简述基于winpcap体系结构的捕获网络数据包的过程

Winpcap是针对Win32平台上的抓包和网络分析的一个架构。它包括一个核心态的包过滤器,一个底层的动态链接库(packet.dll)和一个高层的不依赖于系统的库(wpcap.dll)。
抓包是NPF最重要的操作。在抓包的时候,驱动使用一个网络接口监视着数据包,并将这些数据包完整无缺地投递给用户级应用程序。
抓包过程依赖于两个主要组件:
一个数据包过滤器,它决定着是否接收进来的数据包并把数据包拷贝给监听程序。数据包过滤器是一个有布尔输出的函数。如果函数值是true,抓包驱动拷贝数据包给应用程序;如果是false,数据包将被丢弃。NPF数据包过滤器更复杂一些,因为它不仅决定数据包是否应该被保存,而且还得决定要保存的字节数。被NPF驱动采用的过滤系统来源于BSD Packet Filter(BPF),一个虚拟处理器可以执行伪汇编书写的用户级过滤程序。应用程序采用用户定义的过滤器并使用wpcap.dll将它们编译进BPF程序。然后,应用程序使用BIOCSETF IOCTL写入核心态的过滤器。这样,对于每一个到来的数据包该程序都将被执行,而满足条件的数据包将被接收。与传统解决方案不同,NPF不解释(interpret)过滤器,而是执行(execute)它。由于性能的原因,在使用过滤器前,NPF提供一个JIT编译器将它转化成本地的80x86函数。当一个数据包被捕获,NPF调用这个本地函数而不是调用过滤器解释器,这使得处理过程相当快。
一个循环缓冲区,用来保存数据包并且避免丢失。一个保存在缓冲区中的数据包有一个头,它包含了一些主要的信息,例如时间戳和数据包的大小,但它不是协议头。此外,以队列插入的方式来保存数据包可以提高数据的存储效率。可以以组的方式将数据包从NPF缓冲区拷贝到应用程序。这样就提高了性能,因为它降低了读的次数。如果一个数据包到来的时候缓冲区已经满了,那么该数据包将被丢弃,因此就发生了丢包。

⑧ libpcap 怎么拦截数据包

谁说这个东西能拦截了?

等你收到数据的时候,数据报已经发出去了

⑨ linux下使用libpcap进行数据捕获,能够将捕获到的数据包保存为pcap文件

libpcap和winpcap最大的不来同就是 内核缓冲区自,用户缓冲区等都不能设置,没有提供这样的函数,要编译libpcap源码。
另外,linux Fedora 下使用libpcap时,找不到pcap.h,查找发现安装了libpcap的库但是没有头文件。解决办法是:
1.如何查看是否安装libpcap? #rpm -aq libpcap
2.查找libpcap源,yum search pcap
3.安装libpcap, yum install libpcap-devel.i386

⑩ libpcap抓的一个数据包长度为什么为0

一般包头都有显示数据长度251,你要看下是明文还是加密的,破解了以后,改成253就可以了。修改数据包要具体问题具体分析。修改接收包也不一定有用。多试一试就ok了!

热点内容
丁度巴拉斯情人电影推荐 发布:2024-08-19 09:13:07 浏览:886
类似深水的露点电影 发布:2024-08-19 09:10:12 浏览:80
《消失的眼角膜》2电影 发布:2024-08-19 08:34:43 浏览:878
私人影院什么电影好看 发布:2024-08-19 08:33:32 浏览:593
干 B 发布:2024-08-19 08:30:21 浏览:910
夜晚看片网站 发布:2024-08-19 08:20:59 浏览:440
台湾男同电影《越界》 发布:2024-08-19 08:04:35 浏览:290
看电影选座位追女孩 发布:2024-08-19 07:54:42 浏览:975
日本a级爱情 发布:2024-08-19 07:30:38 浏览:832
生活中的玛丽类似电影 发布:2024-08-19 07:26:46 浏览:239