- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何检测Sniffer
如何检测Sniffer
发布日期: 2000-1-7
内容:
--------------------------------------------------------------------------------
作者:skyfly
技术细节 L0pht 公司已经说明了,如下:
Win9x/NT
正常情况下,就是说不在混乱模式,网卡检测是不是广播地址
要比较看收到的目的以太网址是否等于ff.ff.ff.ff.ff.ff
是则认为是广播地址。
在混乱模式时,网卡检测是不是广播地址只看收到包的目的以太
网址的第一个八位组值,是0xff则认为是广播地址。
利用这点细微差别就可以检测出Sniffer.
Linux
以前就提出过,一些版本内核有这种问题:
当混杂模式时,每个包都被传到了操作系统内核以处理。
在处理某些包,只看IP地址而不看以太网头中的源物理地址。所以:
使用一个不存在的目的MAC,正确的目的IP,受影响
的内核将会由于是混杂模式而处理它,并将之交给相应系统
堆栈处理。从而实现检测Sniffer
总之,只要发一个以太网头中目的地址是ff.00.00.00.00.00
的ARP包(l0pht公司是ff.ff.ff.ff.ff.00)就可以检测出Linux和
Windows网卡处于混乱状态的计算机.
以下是一个Linux下用于检测Linux下Sniffer的程序,很多地方都贴
过了,我只改了一句话,这样也可以检测出Windows机器。:)
----------------- Cut here ----------------------
/* -----------------------------------------
Network Promiscuous Ethernet Detector.
Linux 2.0.x / 2.1.x, libc5 GlibC
-----------------------------------------
(c) 1998 savage@apostols.org
-----------------------------------------
Scan your subnet, and detect promiscuous
Windows linuxes. It really works, not a joke.
----------------------------------------- */
/*
* $Id: neped.c,v 1.4 1998/07/20 22:31:52 savage Exp $
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ETH_P_ARP 0x0806
#define MAX_PACK_LEN 2000
#define ETHER_HEADER_LEN 14
#define ARPREQUEST 1
#define ARPREPLY 2
#define perr(s) fprintf(stderr,s)
struct arp_struct
{
u_char dst_mac[6];
u_char src_mac[6];
u_short pkt_type;
u_short hw_type;
u_short pro_type;
u_char hw_len;
u_char pro_len;
u_short arp_op;
u_char sender_eth[6];
u_char sender_ip[4];
u_char target_eth[6];
u_char target_ip[4];
};
union
{
u_char full_packet[MAX_PACK_LEN];
struct arp_struct arp_pkt;
}
a;
#define full_packet a.full_packet
#define arp_pkt a.arp_pkt
char *
inetaddr ( u_int32_t ip )
{
struct in_addr in;
in.s_addr = ip;
return inet_ntoa(in);
}
char *
hwaddr (u_char * s)
{
static char buf[30];
sprintf (buf, %02X:%02X:%02X:%02X:%02X:%02X, s[0], s[1], s[2], s[3
您可能关注的文档
最近下载
- 教科版小学科学四年级下册总复习试题(连线题).doc VIP
- 长虹LED42C2000黑屏故障通病维修方法分享.doc
- 教科版(2025秋)四年级科学下册总复习之连线题(含答案) .pdf VIP
- 2025年机修钳工(高级技师)职业技能鉴定理论考试题库资料(含答案).pdf
- 三字经全文带拼音完整版 打印版.pdf VIP
- 科教版小学科学四年级下册期末复习专项训练题04——连线题(含答案+详细解析).docx VIP
- 江苏省苏北四市(徐州、宿迁、淮安、连云港) 2025届高三第一次调研测试思想政治试题(含答案).pdf VIP
- 消防员心理培训课件.pptx VIP
- 2024年高考政治真题汇编《哲学与文化》.docx
- 风力发电场生态保护及恢复技术规范-DB21.PDF
文档评论(0)