会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - IT互联网  媒体学院>> 图形图像 - 网页制作 - 网络编程 - 数据库 - 服务器 - 网络应用  作品赏析>> 视频音响 - CG动画 - UI设计 - 平面设计 - 网页设计 - 摄影映象 - 三维2D - 其它设计  媒体工作室>> 视频影像 - 音频声响 - 三维2D - 平面视觉 - 软硬技术 - 摄影映象  人物访谈>> 人物访谈 - 华夏新锐  媒体杂志>> 媒体杂志  素材图库>> 丽景佳图 - 设计素材 - 资料图库 - 矢量图库 - 动态动画 - 特色图标  酷站赏析>> 韩国网站 - 国外网站 - 国内网站  会员中心>> 会员注册 - 会员登陆
当前位置:华夏媒体 - > 媒体学院 - > 网络应用 - > 网络知识 - > sniffer技术原理及应用(1)
   
   
   
sniffer技术原理及应用(1) sniffer技术原...  [网络...]
More... 
   
网络协议X档案全集(十) 网络协议X档案...  [其它...]
不可忽视的BIOS参数设置 不可忽视的BIO...  [其它...]
微软IE浏览器非常规修改全攻略(上) 微软IE浏览器非...  [其它...]
微软IE浏览器非常规修改全攻略(下) 微软IE浏览器非...  [其它...]
网管十招 网管十招  [其它...]
微软安全问题 源自OS和IE中集成RSS 微软安全问题 ...  [其它...]
修改注册表使电脑更安全 修改注册表使电...  [其它...]
利用注册表管理IP地址 利用注册表管理...  [其它...]
有关IIS HACK的一些方法整理 有关IIS HACK的...  [其它...]
More 
sniffer技术原理及应用(1)
编辑:华夏媒体     作者:未知     来源:网络     时间:2006-07-29     总浏览量:1536
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页] 


Sniffer pro/NetXray:专业的协议分析工具,是NAI提供的网络分析方案中的一部分
其它:
Iris
LanExplorer
NetMOnitor
CommView

单一用途的噢探器
口令嗅:winsniffer,典型的黑客工具,嗅探并解析ftp,pop3,http,icq,smtp,telnet,IMAP,NNTP

等口令
password sniffer for NetHackerIII

专用 嗅探器:
SMB嗅探器:L0phtcrack,SMPRelay
TCP连接会话嗅探器:CommView ,Iris,Juggernaut
SSL嗅探器:SSLDump--sslv3/tls网络协议分析工具
RIDIUS嗅控器:一个基于udp的论证记账协议,Radiusniff是其代表
PPTP嗅 控器:Anger,PPTP-sniff(solaris)
SNMP嗅探器:Snmpsniff

交换网络嗅探器:Ettercap
综合:Dsniff
其它交换网络嗅探器:
snarp,parasite

嗅探对策.........

netsys2:

网络上流传的GUNIFFER是个基本的原型:

http://asp.6to23.com/nowcan/code/guniffer.zip

void main(int argc, char ** argv)

{

int iErrorCode;

char RecvBuf[MAX_PACK_LEN] = {0};

usage();

if(GetCmdLine(argc, argv)==CMD_PARAM_HELP) exit(0);

//初始化SOCKET

WSADATA wsaData;

iErrorCode = WSAStartup(MAKEWORD(2,1),&wsaData);

CheckSockError(iErrorCode, "WSAStartup");

SockRaw = socket(AF_INET , SOCK_RAW , IPPROTO_IP);

CheckSockError(SockRaw, "socket");

//获取本机IP地址

char FAR name[MAX_HOSTNAME_LAN];

iErrorCode = gethostname(name, MAX_HOSTNAME_LAN);

CheckSockError(iErrorCode, "gethostname");

struct hostent FAR * pHostent; //注意下面这三句,这里先对pHostent分配了一块

pHostent = (struct hostent * )malloc(sizeof(struct hostent));

//内存,然后有让它等于gethostbyname函数的返回

pHostent = gethostbyname(name); //值,但gethostbyname函数是自己在函数内部分配内

存的,因此上一句根本就是多余,把上一句删除后一切正常。但此程序用VC6编译运行都没有问题

,不知为何?也许是VC6的编译器优化在起作用。

SOCKADDR_IN sa;

sa.sin_family = AF_INET;

sa.sin_port = htons(6000);

memcpy(&sa.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);

free(pHostent); //由于前面分配内存的语句已经删除,所以这一句也要去掉,否则出错。感谢网

友 Heyuming 发现这个问题。

iErrorCode = bind(SockRaw, (PSOCKADDR)&sa, sizeof(sa));

CheckSockError(iErrorCode, "bind");

//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包

DWORD dwBufferLen[10] ;

DWORD dwBufferInLen = 1 ;

DWORD dwBytesReturned = 0 ;

iErrorCode=WSAIoctl(SockRaw, SIO_RCVALL,&dwBufferInLen,

sizeof(dwBufferInLen),

&dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL );

CheckSockError(iErrorCode, "Ioctl");

//侦听IP报文

while(1)

{

memset(RecvBuf, 0, sizeof(RecvBuf));

iErrorCode = recv(SockRaw, RecvBuf, sizeof(RecvBuf), 0);

CheckSockError(iErrorCode, "recv");

iErrorCode = DecodeIpPack(RecvBuf, iErrorCode);

CheckSockError(iErrorCode, "Decode");

}

}

它有2个不方便之处:
1)不能选择网卡
2)采用死循环方式读数据,改编到WINDOWS窗口模式下时有死机的感觉。

sevencat():
上次找了一些资料整理了一下,不过人气不旺,而且最近比较忙,暂时还没继续下去。
http://expert.csdn.net/Expert/topic/2299/2299615.xml?temp=.2761499
WINDOWS网络包过滤技术
                              (原文:http://www.ndis.com/papers/winpktfilter.htm)


[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页] 

打印   收藏   关闭   至顶部  


关于我们 | 联系我们 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 意见建议
版权所有  Copyright © 2005-2006 华夏媒体(Media86.Com). All Rights Reserved .
网站备案号:粤ICP备06055307号