基于 libpcap库的sniffer程序】的更多相关文章

基于 libpcap库的sniffer程序 Libpcap库是WireSharek和Tcpdump抓包程序的基础,利用libcap我们自己也可以实现自己的抓包程序,在网络上实时抓包分析,或者利用处理的结果用作业务用途. 1.   Libpcap抓取的数据包的结构 在实现我们的基于libcap的程序之前,我们先来了解一下libpcap(wiresharek和tcpdump也是这样)抓取的网络包的结构.下面以tcp/ip协议包为例: 上面的数据包一共有6部分:文件头,数据报报头,以太网帧头,IP头,…
因为最近要从公司离职,害怕用nio写的网络程序没有人能看懂(或许是因为写的不好吧),就调整成了mina(这样大家接触起来非常方便,即使没有socket基础,用起来也不难),所以之前基于nio写的网络程序就开放出来好了! 写的比较挫,大家见谅! 首先是PollServer类,主要处理select,做网络事件的监听和基于FutureTask的数据发送,代码如下: package gs.gate; import gs.gate.handle.ClientHandle; import java.util…
2008年09月10日 星期三 15:35 基于DCMTK的DICOM相关程序编写攻略 前言: 由于现在的医学影像设备的图像存储和传输正在逐渐向DICOM标准靠拢,在我们进行医学图像处理的过程中,经常需要自己编写和DICOM格式的图像相关的各种程序模块,以完成自己处理功能.如果从头开始理解DICOM的协议,然后完全自己编写这些代码来实现这些协议,是一件工程浩大的事情.德国offis公司开发的DCMTK,为我们提供了实现DICOM协议的一个平台,使得我们可以在它的基础上轻松的完成自己的主要工作,而…
最近发现了一个非常恼人的程序deployment的问题,估计大家有可能也会遇到,特此memo. 问题的出现我觉得主要还是微软搞的花头太多, 一个不知所谓的manifest文件让本来简单的程序发布变得困难重重. 找了找关于manifest的介绍,貌似这个文件是用来描述程序或者库的依赖关系, 特别是对程序依赖的版本进行描述, 这样系统可以通过manifest的内容找到正确的库版本. 理论上讲这个dd确实是不错, 可以解决版本不兼容的问题, 保证程序运行的时候用的是指定版本的库. 不过实际操作起来麻烦…
摘 要:.NET框架是Microsoft用于生成分布式Web应用程序和Web服务的下一代平台.概述了用于生成分布式应用程序的.NET框架的基本原理.重点讲述了.NET框架的基础:公共语言运行时(CLR)和微软中间语言(MSIL),以及.NET革命的核心:Web Service.最后结合具体步骤,给出了利用.NET平台建造具有良好可伸缩性的分布式应用程序的过程. 关键词:.NET;分布式计算; Web服务; CLR; MSIL       The Research of Distributed A…
Go简介 Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性. 语法类似C/C++,但是又带有一点python的味道 其中个人认为最出色的特点就是他的包管理,你可以在GoDoc.Go Search上找到非常多有用的包以及文档 同时只需执行 go get path ( e.g. go get https://godoc.org/github.com/google/gopacket)就可以将包下载到本地 gopacket简介 gopacket是googl…
基于AngularJs的单页面程序 在Abpzero的后台管理系统是一个AngularJs的单页面程序.当你登陆后,系统会跳转到"ApplicationController",然后再返回到视图的布局页面(模板页). 注意: 多页面版本是基于MVC和JQuery的我们后续会提到. 应用层的文件夹: 这里有三个主要的文件夹: common : 包含了host和tenants 双方用户公用的资源. host: host用户也就是上帝视角的特定资源文件. tenant: 包含了一些特定租户的资…
在Windows下使用Dev-C++开发基于pthread.h的多线程程序[转]     在Windows下使用Dev-C++开发基于pthread.h的多线程程序   文章分类:C++编程     一直都是使用Dev-Cpp5编写C/C++程序,感觉小巧方便.     不过,在学习C++的多线程编程的时候,发现添加“#include <phread.h>”时,编译器会提示找不到pthread.h文件. 搜索了一下,发现原来Dev-Cpp虽然内置的是MinGW编译器,但是没有包含pthread…
一般的图像处理软件都对读入程序的图像文件建一个缩略图的列表,像ACDSee那样.笔者最近在做一个图像处理的项目,处理的原始数据就是图像文件.从项目一开始就想做一个缩略图,但一直苦于技术水平有限,且时间也不允许.最近两天闲暇之余就Google,百度了一下,仔细研究了一下缩略图的实现方法.其实用VC++实现一个缩略图的思想并不复杂.就是分两步:1.创建CListCtrl控件和CImageList图像列表,设置各自的相应属性.2.将你要显示的图像文件的缩略图做好,并制成位图文件加入到CImageLis…
 执行测试平台:CentOS 6.5发行版,内核版本号3.11 1. Linux抓包源程序 在OSI七层模型中.网卡工作在物理层和数据链路层的MAC子层. 进行网络通信时.源主机通过socket(或其他)应用程序产生IP报文,经过各个OSI层层封装,数据包以Ethernet帧的形式进入物理层.Ethernet帧包括源主机地址.IP报文.目标地址(IP地址.port号或映射的6字节MAC地址)和须要传送到目标主机的其他信息. 目标的MAC地址是哪里来的呢?这牵扯到一个ARP协议(介乎于网络层和…