• 大小: 154KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-05
  • 语言: 其他
  • 标签: sniffer  P2P  

资源简介

P2P文件共享 前面有人文嗅探器的问题,我在这里做个详细的解释: 嗅探器(snifffer)就是能够捕获网络报文的设备。嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来作出精确的问题判断。 嗅探器在功能和设计方面有很多不同。有些只能分析一种协议,而另一些可能能够分析几百种协议。一般情况下,大多数的嗅探器至少能够分析下面的协议: ■标准以太网 ■TCP/IP ■IPX ■DECNet 嗅探器通常是软硬件的结合。专用的嗅探器价格非常昂贵。另一方面,免费的嗅探器虽然不需要花什么钱,但得不到什么支持。 嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的——例如将以太网卡设置成杂收模式。(为了理解杂收模式是怎么回事,先解释局域网是怎么工作的)。 数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。 帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。 每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。 在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。 如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式,它(包括其软件)就是一个嗅探器。 嗅探器可能造成的危害: ■嗅探器能够捕获口令 ■能够捕获专用的或者机密的信息 ■可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限 事实上,如果你在网络上存在非授权的嗅探器就以为着你的系统已经暴露在别人面前了。(大家可以试试天行2的嗅探功能) 一般我们只嗅探每个报文的前200到300个字节。用户名和口令都包含在这一部分中,这是我们关心的真正部分。工人,也可以嗅探给定接口上的所有报文,如果有足够的空间进行存储,有足够的那里进行处理的话,将会发现另一些非常有趣的东西…… 简单的放置一个嗅探器宾将其放到随便什么地方将不会起到什么作用。将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。如果这样的话就能捕获网络和其他网络进行身份鉴别的过程。这样的方式将成倍地增加我们能够攻击的范围。 关于怎么抵御嗅探器的攻击我就不说了,那是网管们的事儿,有三种方法可能会有所作用: ■检测和消灭嗅探器 ■将数据隐藏,使嗅探器无法发现。 ■会话加密

资源截图

代码片段和文件信息

/****************************************************************************
 * Written by Sang-Eun Han (seh@brabo1.korea.ac.kr).
 * 
 * Date :
 *
 * Filename : Packet32.c
 *
 * PERMISSION IS GRANTED TO USE COPY AND DISTRIBUTE THIS SOFTWARE FOR ANY 
 * PURPOSE EXCEPT FOR A BUSINESS OR COMMERCIAL PURPOSE AND WITHOUT FEE PROVIDED 
 * THAT THE ABOVE COPYRIGHT NOTICE AND THIS STATEMENT APPEAR IN ALL COPIES.
 * I MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS
 * SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS PROVIDED “AS IS.“
 *
 */

#include 
#include 

#include 

//from NT
#include “ntddndis.h“
#include “ntddpack.h“
//
#include “packet32.h“
#include “ZPacket.h“


CHAR szWindowtitle[] = “PACKET32.DLL“;
HANDLE hInstance;

BOOLEAN  WINAPI
PacketInit (HANDLE hInst 
ULONG ul_reason_for_call
LPVOID lpReserved)
{
switch(ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
hInstance = hInst;
break;
case DLL_PROCESS_DETACH:
break;
default:
break;
}

return TRUE;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PacketOpenAdapter
//
PVOID  WINAPI
PacketOpenAdapter(
LPTSTR   AdapterName // 0000 0001 etc.

{
LPADAPTER lpAdapter;
BOOLEAN Result;
DWORD dwReturn;

lpAdapter=(LPADAPTER)GlobalAllocPtr(GMEM_MOVEABLE | GMEM_ZEROINIT sizeof(ADAPTER));
if(lpAdapter==NULL) {
return NULL;
}

lstrcpy(lpAdapter->Symboliclink_T(“\\\\.\\ZPACKET.VXD“));
wsprintf(lpAdapter->szAdapterName_T(“%s“) AdapterName);
lpAdapter->hFile= CreateFile(lpAdapter->Symboliclink GENERIC_READ | GENERIC_WRITE
0 NULL OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE | FILE_FLAG_OVERLAPPED
NULL);

if(lpAdapter->hFile != INVALID_HANDLE_VALUE) {
HANDLE hEvent;
OVERLAPPED Ovrlapped = {0 0 0 0 0 };

hEvent = CreateEvent(NULL TRUE FALSE NULL);
if(hEvent == NULL) {
CloseHandle(lpAdapter->hFile);
} else {
Ovrlapped.hEvent = hEvent;
Result = DeviceIoControl( lpAdapter->hFile IOCTL_ZPACKET_BIND
AdapterName strlen(AdapterName) NULL 0
&dwReturn &Ovrlapped);
if(Result == FALSE) {
// pending...
Result = GetOverlappedResult(lpAdapter->hFile &Ovrlapped &dwReturnTRUE);
}
if(Result == FALSE) {
CloseHandle(lpAdapter->hFile);
GlobalFreePtr(lpAdapter);
return NULL;
}
}
//flush receive queue
//DeviceIoControl(lpAdapter->hFile IOCTL_ZPACKET_FLUSH NULL 0 NULL 0 NULL NULL);
} else {
GlobalFreePtr(lpAdapter);
return NULL;
}

return (lpAdapter);
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PacketCloseAdapter
//
VOID WINAPI
PacketCloseAdapter(
LPADAPTER   lpAdapter

{
HANDLE hEvent;
OVERLAPPED Ovrlapped = {0 0 0 0 0 };
BOOLEAN Result;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3996  1997-01-23 14:16  Sniffer原理及开源代码\Packet32\DEVIOCTL.H

     文件      23577  1995-05-26 10:57  Sniffer原理及开源代码\Packet32\NTDDNDIS.H

     文件        264  1997-08-07 11:36  Sniffer原理及开源代码\Packet32\Ntddpack.h

     文件      11457  1999-02-19 21:29  Sniffer原理及开源代码\Packet32\Packet32.c

     文件        405  1998-06-20 18:50  Sniffer原理及开源代码\Packet32\Packet32.def

     文件       4190  1998-06-20 13:28  Sniffer原理及开源代码\Packet32\Packet32.dsp

     文件        539  1998-06-16 17:37  Sniffer原理及开源代码\Packet32\Packet32.dsw

     文件       6213  1999-02-19 21:29  Sniffer原理及开源代码\Packet32\Packet32.h

     文件       5435  1998-06-20 13:19  Sniffer原理及开源代码\Packet32\Packet32.mak

     文件        785  1996-09-13 13:57  Sniffer原理及开源代码\Packet32\PACKOFF.H

     文件        732  1996-09-13 13:58  Sniffer原理及开源代码\Packet32\PACKON.H

     文件       2301  1999-02-19 21:24  Sniffer原理及开源代码\Readme.txt

     文件      53760  2000-04-10 18:14  Sniffer原理及开源代码\Sniffer 常见问题集.doc

     文件      15782  2000-04-06 13:05  Sniffer原理及开源代码\Sniffer的原理与应用方法.htm

     文件       6213  1999-02-19 21:29  Sniffer原理及开源代码\Snowing\Packet32.h

     文件      10228  1998-06-21 01:01  Sniffer原理及开源代码\Snowing\Packet32.lib

     文件       2689  1999-02-19 21:29  Sniffer原理及开源代码\Snowing\Protohdr.h

     文件       5632  1998-06-20 19:01  Sniffer原理及开源代码\Snowing\Release\Packet32.dll

     文件      45056  1999-01-05 11:00  Sniffer原理及开源代码\Snowing\Release\Snowing.exe

     文件      11380  1999-02-19 21:03  Sniffer原理及开源代码\Snowing\Release\zpacket.vxd

     文件      11935  1999-02-19 21:29  Sniffer原理及开源代码\Snowing\snowing.c

     文件       3475  1998-06-21 15:16  Sniffer原理及开源代码\Snowing\Snowing.dsp

     文件        537  1998-06-20 11:18  Sniffer原理及开源代码\Snowing\Snowing.dsw

     文件      71968  2099-10-13 11:28  Sniffer原理及开源代码\snowing.zip

     文件        100  1998-03-14 14:55  Sniffer原理及开源代码\Zpacket\ddknet32.bat

     文件       1638  1999-02-19 21:30  Sniffer原理及开源代码\Zpacket\Makefile

     文件      26050  1999-02-19 21:29  Sniffer原理及开源代码\Zpacket\ZNdis.c

     文件       7499  1999-02-19 21:31  Sniffer原理及开源代码\Zpacket\ZNdis.h

     文件      12271  1999-02-19 21:31  Sniffer原理及开源代码\Zpacket\ZPacket.c

     文件       1338  1998-06-15 21:11  Sniffer原理及开源代码\Zpacket\ZPacket.def

............此处省略15个文件信息

评论

共有 条评论