会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - 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     总浏览量:1533
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

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


1.检查网内的主机上是否将网卡设置为混合模式(有很多工具可以做到,AntiSniff,Promiscan,S

entinel等)
2.对EtterCap这样的交换网络嗅探器(进行ARP欺骗),可以采用防止ARP欺骗的方法来对待
3.SSH加密通道
4.SSL
5.VPN
6.PGP等

目前这用利用网卡混合模式来进行sniffer的软件看来作用不太大了,所以应该多考虑交换网络的可

行办法:

MAC Flooding,MAC Duplicating,ARP欺骗等等
这些方法实现起来就不怎么容易了,欢迎有兴趣的朋友提供相关的资料,呵呵!

netsys:
难道没人用过RAW SOCKET 吗?
虽然WINPCP功能很大,但RAW SOCKET可以让你直接了SOCKET的原生机制。
实际上我提的那两个问题是很容易解决的。。

netsys2:
对于一些混合模式的SNIFFER,大多采用发送特殊ARP包的方式,正确的网卡不会响应,而处于

混合模式的网卡则会响应。

当然,ARP与IP处于同层,因此你不能用RAW SOCKET完成,你需WinPcap支持工作。

下面是部分代码

AnsiString msgStatus;
extern TArpFuncParam wParams;

int BuildARPPacket(PArpPacket ArpPacket, unsigned char *dst_etheraddr,
     unsigned char *src_etheraddr, int ar_op, unsigned

char *ar_sha,
     unsigned char *ar_sip, unsigned char *ar_tha,
                          unsigned char *ar_tip,unsigned short int ar_hw)
{
  memcpy(&(ArpPacket->eth_dst_addr), dst_etheraddr, ETH_ADD_LEN);
  memcpy(&(ArpPacket->eth_src_addr), src_etheraddr, ETH_ADD_LEN);
  ArpPacket->eth_type = htons(ETH_TYPE_ARP);
  ArpPacket->ar_hrd = htons(ar_hw);
  ArpPacket->ar_pro = htons(ARP_PRO_IP);
  ArpPacket->ar_hln = ARP_ETH_ADD_SPACE;
  ArpPacket->ar_pln = ARP_IP_ADD_SPACE;
  ArpPacket->ar_op  = htons(ar_op);
  memcpy(&(ArpPacket->ar_sha), ar_sha, ARP_ETH_ADD_SPACE);
  memcpy(&(ArpPacket->ar_spa), ar_sip, ARP_IP_ADD_SPACE);
  memcpy(&(ArpPacket->ar_tha), ar_tha, ARP_ETH_ADD_SPACE);
  memcpy(&(ArpPacket->ar_tpa), ar_tip, ARP_IP_ADD_SPACE);
  memset(ArpPacket->eth_pad, 32, ETH_PADDING_ARP);
  return(EXIT_SUCCESS);
}
int OpenAdapter(LPADAPTER *lpAdapter)
{
  *lpAdapter =  

PacketOpenAdapter(wParams.AdapterList[wParams.SelectedAdapter]);

  if(!(*lpAdapter) || ((*lpAdapter)->hFile == INVALID_HANDLE_VALUE))
  {
    msgStatus = "Error : unable to open the driver.";
    SHOWSTAT(msgStatus);
    return(EXIT_FAILURE);
  }
  return(EXIT_SUCCESS);
}
void CloseAdapter(LPADAPTER lpAdapter)
{
  PacketCloseAdapter(lpAdapter);

}
void GetLocalMAC(LPADAPTER lpAdapter, unsigned char *ether_addr)
{

  ULONG IoCtlBufferLength = (sizeof(PACKET_OID_DATA) + sizeof(ULONG) - 1);
  PPACKET_OID_DATA OidData;

  OidData = (struct _PACKET_OID_DATA *)malloc(IoCtlBufferLength);
  OidData->Oid = OID_802_3_CURRENT_ADDRESS;


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

打印   收藏   关闭   至顶部  


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