SYNOPSIS

#include <pcap/pcap.h>

DESCRIPTION

PCAP提供为抓包系统提供高级接口。网络上的所有数据包,即使是发往其他主机的数据包,都可以通过这种机制访问。它还支持将捕获的数据包保存到“savefile”,和从“savefile”中读取数据包。

Opening a capture handle for reading

调用 pcap_create() 时给定要捕获的网络或者其他接口名称,以打开一个用于实时捕获的句柄,并需要设置合适参数;

调用 pcap_activate() 启动句柄;

调用 pcap_findalldevs() 来获得可被打开用于实时捕获的设备列表;

调用 pcap_freealldevs()来释放pcap_findalldevs() 返回的设备列表;

调用 pcap_lookupdev() 会返回列表中第一个非回环网络接口(not 'loopback');

调用 pcap_open_offline() 时给定“savefile”的路径名,以打开一个用于读取网络包的“savefile”的句柄;

调用 pcap_fopen_offline() 时给定一个来源于一个已打开的用于读取的文件的 FILE * 参数(fopen),来为 "savefile" 建立句柄;

调用 pcap_open_dead()获取(用在需要 pcap_t 类型作参数的函数中的) "fake" pcap_t,比如打开一个 "savefile" 用于写的函数 和 编译过滤器表达式函数;

(原文:In order to get a ``fake'' pcap_t for use in routines that require a pcap_t as an argument, such as routines to open a ``savefile'' for writing and to compile a filter expression, call pcap_open_dead().)

pcap_create(), pcap_open_offline(), pcap_fopen_offline(), and pcap_open_dead() 返回一个指向 pcap_t 类型的指针, 该指针是句柄,用于从 "capture stream" 或者 "savefile" 中读取数据包,用于查找与 "capture stream" 或者 “savefile” 相关的信息;

使用 pcap_close()关闭句柄;

Options that can be set on a capture handle

snapshot length

如果捕获时抓取整个 packet 内容,需要更多 CPU 时间拷贝 packet 到应用程序,更多的磁盘和网络带宽把 packet 写入文件,更多的磁盘空间来保存 packet。如果你不需要整个 packet 内容 — 例如,如果你只对 packets 中 TCP 首部感兴趣 — 你可以设置 "snapshot length" 为一个合适的数值。如果 "snapshot length" 被设置为snaplen,并且 snaplen 小于被捕获的 packet 大小,那么只有 packet 的前 snaplen 长度的字节会被捕获并作为 packet data 内容。

在大部分并非所有网络上,从 packet 捕获所有可用数据, 65535 长度的 "snapshot length" 足够了。

调用 pcap_set_snaplen()来设置 "snapshot length"。

TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)相关推荐

  1. TCPDUMP/LIBPCAP 3-PCAP's MAN手册(1)

    概要 #include <pcap/pcap.h> 说明 PCAP提供为抓包系统提供高级接口.网络上的所有数据包,即使是发往其他主机的数据包,都可以通过这种机制访问.它还支持将捕获的数据包 ...

  2. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  3. man nfsd(rpc.nfsd中文手册)

    本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.nfsd(8) System Manager's Manual rpc.nfs ...

  4. CSS2.0中文手册(CHM版)

    Div+Css是现在网站架设的一个趋势,应用Css对于网站有诸多的好处.本教程是沈小雨2002年制作的 Css2.0中文手册,对学习CSS和查询CSS属性非常有帮助. Css2.0中文手册针对的是已有 ...

  5. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  6. Apache2.2中文手册

    Apache2.2中文手册 CHM格试 转载于:https://blog.51cto.com/zjcookies/114174

  7. PostgreSQL9.3中文手册的在线纠错

    PostgreSQL9.3中文手册已经在PG中国社区的官网上正式发布了,下面是网址: http://www.postgres.cn/docs/9.3 然而翻译中难免会有一些小错误.所以我们在在线手册的 ...

  8. 英巴卡迪诺新年战略:支持Linux提供中文手册

    提到英巴卡迪诺Embarcadero公司可能会有人感到陌生但是提到其旗下的应用程序开发工具Delphi和C++Builder相信很多开发者都会有与此相关的记忆.从这几年英巴卡迪诺的产品升级和市场推广来 ...

  9. Ansible中文手册

    中文手册链接地址:http://www.simlinux.com/archives/409.html http://www.simlinux.com/books/Ansible-notes.pdf 右 ...

  10. python3.6手册中文版-python3.6中文手册下载|

    python3.6中文文档为你提供了两个版本的一个是.chm文件的还有一个是pdf文件的.pdf的是中文版,chm格式的是英文原版.无论是哪一版都是为了方便你学习python语言.如果你喜欢这款文档那 ...

最新文章

  1. 2021年大数据Flink(四十五):​​​​​​扩展阅读 双流Join
  2. 腾讯云数据库客户数超50万,携手合作伙伴共建数据库生态
  3. 【Flutter】Flutter 混合开发 ( 安卓端向 Flutter 传递数据 | FlutterFragment 数据传递 | FlutterActivity 数据传递 )
  4. Javascript 强制类型转换函数
  5. 【C/C++多线程编程之六】pthread互斥量
  6. Python-OpenCV 笔记6 -- 轮廓(Contours)
  7. AI实战:从入门到精通系列——用感知器实现情感分类(一)
  8. pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项
  9. Ubuntu-C++环境设置
  10. [渝粤教育] 西南科技大学 线性代数 在线考试复习资料
  11. Casperjs中fill提交表单遇到的问题
  12. Spring AOP底层实现原理(动态代理)
  13. Zabbix 3.0安装
  14. java 反射 动态调动set_通过Java的反射动态调用类的set和get方法
  15. android投屏小米盒子,Mibox S 小米盒子国际版:可能是 2019 新年最值的原生 AndroidTV...
  16. 淘宝又出新规,无货源淘宝还能玩吗?
  17. 关于Ping和Tracert命令原理详解
  18. java怎么实现分享链接_分享Java
  19. 高德地图:点击获取火星坐标(经纬度)
  20. 紫光同创国产FPGA学习之器件情况

热门文章

  1. twitter数据分析_Twitter上最受欢迎的数据科学文章主题
  2. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景
  3. leetcode 973. 最接近原点的 K 个点(排序)
  4. 微信退款通知,退款回调数据解密.SHA256签名AEAD_AES_256_GCM解密
  5. 实际算法项目工程上手日志C/C++
  6. for 循环 和 Array 数组对象
  7. 由于不能随便改路径,所以写在这里
  8. SNF快速开发平台MVC-自由排序组件
  9. Cronolog 分割 Tomcat8 Catalina.out日志 (转)
  10. POJ1182--带权并查集