sniffer原理(二)

两款网络分析工具Sniffer和Wireshark的比较 通过专家系统,Sniffer能够帮助我们评估网络的性能,比如,网络的使用率,网络性能的趋势,网络中哪一些应用消耗最多带宽,网络上哪一些用户消耗最多带宽,不同协议的流量状况等等。Wireshark并不具有分析功能,当一个网络发生异常的时候,Wireshark只会记录数据,它仅仅是一个测量工具,并不能操作网络,不发送数据包或者做其它的主动动作。通过专家系统,Sniffer可以帮助我们评估业务运行状态,比如各个应用的响应时间,一个操作需要的时间,应用带宽的消耗,应用的行为特征,应用性能的瓶颈等等。 阅读详情

(转自http://ciw.chinaitlab.com/tutorial/6256.html)

 

      现在人们谈到黑客攻击,一般所指的都是以主动方式进行的,例如利用漏洞或者猜测系统密码的方式对系统进行攻击。但是其实还有一类危害非常大的被动攻击方式往往为大家所忽视,那就是利用Sniffer进行嗅探攻击。
  Sniffer,中文可以翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。黑客们常常用它来截获用户的口令。据说某个骨干网络的路由器曾经被黑客攻人,并嗅探到大量的用户口令。本文将详细介绍Sniffer的原理和应用。
  一、Sniffer 原理
  1.网络技术与设备简介
   在讲述Sni计er的概念之前,首先需要讲述局域网设备的一些基本概念。
   数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。
   每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。
   在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就可以捕获网络上所有的数据包和帧。
  2.网络监听原理
   Sniffor程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太同卡)置为杂乱(promiscuous)模式状态的工具,一旦同卡设置为这种模式,它就能接收传输在网络上的每一个信息包。
   普通的情况下,阿卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。要使Sniffer能接收并处理这种方式的信息,系统需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,所以,为了绕过标准的TCP/IP堆栈,网卡就必须设置为我们刚开始讲的混杂模式。一般情况下,要激活这种方式,内核必须支持这种伪设备Bpfilter,而且需要root权限来运行这种程序,所以sniffer需要root身份安装,如果只是以本地用户的身份进人了系统,那么不可能唤探到root的密码,因为不能运行Sniffer。
   基于Sniffer这样的模式,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权
  3 Snifffer的分类
   Sniffer分为软件和硬件两种,软件的Sniffer有 NetXray、Packetboy、Net monitor等,其优点是物美价廉,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。
   实际上本文中所讲的Sniffer指的是软件。它把包抓取下来,然后打开并查看其中的内容,可以得到密码等。Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其他屏蔽广播包的设备,这一点很重要。所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。
  4.网络监听的目的
   当一个黑客成功地攻陷了一台主机,并拿到了root权限,而且还想利用这台主机去攻击同一网段上的其他主机时,他就会在这台主机上安装Sniffer软件,对以太网设备上传送的数据包进行侦听,从而发现感兴趣的包。如果发现符合条件的包,就把它存到一个LOg文件中去。通常设置的这些条件是包含字“username”或“password”的包,这样的包里面通常有黑客感兴趣的密码之类的东西。一旦黑客截获得了某台主机的密码,他就会立刻进人这台主机。
   如果Sniffer运行在路由器上或有路由功能的主机上,就能对大量的数据进行监控,因为所有进出网络的数据包都要经过路由器。
   Sniffer属于第M层次的攻击。就是说,只有在攻击者已经进入了目标系统的情况下,才能使用Sniffer这种攻击手段,以便得到更多的信息。
   Sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比如一个重要的信息、在网上传送的金融信息等等。Sniffer几乎能得到任何在以大网上传送的数据包。
   Sniffer是一种比较复杂的攻击手段,一般只有黑客老手才有能力使用它,而对于一个网络新手来说,即使在一台主机上成功地编译并运行了Sniffer,一般也不会得到什么有用的信息,因为通常网络上的信息流量是相当大的,如果不加选择地接收所有的包,然后从中找到所需要的信息非常困难;而且,如果长时间进行监听,还有可能把放置Snifkr的机器的硬盘撑爆。
  5.一个简单的Sniffer程序
   下面是一个非常简单的C程序,它可以完成一般的监听功能,/* */中的内容是本文的注解。
  /*下面是包含进行调用系统和网络函数的头文件*/
  #include〈stdio.h〉
  #include〈sys/socket.h〉
  #include〈netinet/in.h〉
  #include〈arpa/inet.h〉
  /*下面是IP和TCP包头结构*/
  struct IP{
   unsigned int ip_length:4;
   /*定义IP头的长度*/
   unsigned int ip_version:4;
   /*IP版本,Ipv4 */
   unsigned char ip_tos;
   /*服务类型*/
   unsigned short
  ip_total_length; /*IP数据包的总长度*/
   unsigned short ip_id;
   /*鉴定城*/
   unsigned short ip_flags;
   /*IP 标志 */
   unsigned char ip_ttl;
   /*IP 包的存活期*/
   unsigned char ip_protocol;
   /*IP 上层的协议*/
   unsigned short ip_cksum;
   /*IP头校验和*/
  unsigned int ip_source ;
  /*源IP地址*/
  unsigned int ip_source;
  /*目的IP地址*/
   };
  struct tcp{
  unsigned short tcp_source_port;
  /*定义TCP源端口*/
   unsigned short tcp_dest_port;
   /*TCP目的端口*/
   unsigned short tcp_seqno;
   /*TC P序列号*/
  unsigned int tcp_ackno;
  /*发送者期望的下一个序列号*/
  unsigned int tcp_res1:4;
  /*下面几个是TCP标志*/
  tcp_hlen:4
  tcp_fin:1,
  tcp_syn:1,
  tcp_rst:1,
  tcp_psh:1,
  tcp_ack:1,
  tcp_urg:1,
  tcp_res2:2;
  unsignd short tcp_winsize; /*能接收的最大字节数*/
   unsigned short tcp_cksum;
   /* TCP校验和*/
   unsigned short tcp_urgent;
   /* 紧急事件标志*/
  };
  /*主函数*/
  int main()
  {
  int sock,bytes_recieved,fromlen;
  char buffer[65535];
  struct sockaddr_in from;
   /*定义socket结构*/
  struct ip ip;
   /*定义IP和TCP*/
  struct tcp *tcp;
   sock=socket(AF_INET,SOCK_RAW,IPPROTO_TCP);
  /* 上面是建立socket连接,第一个参数是地址族类型,用INTERNET类型*/
  /* 第二个参数是socket类型,这里用了SOCK_RAW,它可以绕过传输层*/
  /* 直接访问IP层的包,为了调用SOCK_RAW,需要有root权限*/
  /* 第三个参数是协议,选IPPROTO_TCP指定了接收TCP层的内容*/
  while(1)
  /*建立一个死循环,不停的接收网络信息*/
  {
  fromlen=sizeof from;
  bytes_recieved=recvfrom(sock,buffer,sizeofbuffer,0,(struct sockaddr *)&from,&fromlen);
  /*上面这个函数是从建立的socket连接中接收数据*/
  /*因为recvfrom()需要一个sockaddr数据类型,所以我们用了一个强制类型转换*/
  print("/nBytes received ::: %5d/n",bytes_recieved);
  /*显示出接收的数据字节数*/
  printf("source address ::: %s/n",inet_ntoa(from.sin_addr));
  /*显示出源地址*/
  ip=(struct ip *)buffer;
  /*把接收的数据转化为我们预先定义的结构,便于查看*/
  printf("IP header length ::: %d/n",ip->ip_length);
  /*显示IP头的长度*/
  print("Protocol ::: %d/n",ip->ip_protocol);
  /*显示协议类型,6是TCP,17是UDP*/
  tcp=(struct tcp *)(buffer + (4*ip->ip_iplength));
  /*上面这名需要详细解释一下,因为接收的包头数据中,IP头的大小是固定的4字节*/
  /*所以我用IP长度乘以4,指向TCP头部分*/
  printf("Source port ::: %d/n",ntohs(tcp->tcp_source_port); /*显示出端口*/
  printf("Dest prot ::: %d/n",ntohs(tcp->tcp_dest_port));/*显示出目标端口*/
   以上这个C程序是为了说明Sniffer的接收原理而列举的一个。  

Sniffer含义及工作原理 立即下载

相关推荐

QMT中ContextInfo的使用注意

QMT中ContextInfo下声明的全局变量的使用注意事项

路在何方 2807

sniffer原理

sniffer,中文可以翻译为嗅探器,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。Sniffer技术常常被黑客们用来截获用户的口令,据说某个骨干网络的路由器网段曾经被黑客攻入,并嗅探到大量的用户口令。

虽千万人,吾往矣 3914

LightTools宏 vs Python API:光学仿真自动化方案选型指南

本文深入对比了LightTools光学仿真自动化中VBA宏与Python API两种方案。VBA宏内嵌易用,适合固定流程批处理;Python API生态强大,尤其在参数优化算法集成方面优势显著,便于构建复杂工作流。文章结合案例,为不同场景下的技术选型提供清晰指南。

garlic的博客 940

Sniffer原理解析

一、前言 Sniffer真是一个古老的话题,关于在网络上采用Sniffer来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,Sniffer究竟是什么呢?Sniffer就是嗅探器,就是窃听器,Sniffer静悄悄的工作在网络的底层,把你的秘密全部记录下来。看过威尔史密斯演的《全民公敌》吗?Sniffer就象里面精巧的窃听器一样,让你防不胜防。 Sniffer可以...

weixin_33857230的博客 713

window系统 dlib库安装

1. 安装visual studio 1.1. 安装vs2017或以上版本 1.2. 我们需要安装使用C++的桌面开发,且必须选上用于Cmake的Visual C++工具 1.3. 安装完成后,将D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin 添加到环境变量PATH中 2 下载cmake文件,并添加环境变量 2.1 在c

@bangbang的博客 815

北京大学MuMo多模态肿瘤分类模型复现与迁移学习

本项目复现了北京大学MuMo多模态肿瘤分类模型,并针对特定医学影像数据集进行迁移学习。MuMo模型通过整合CT、MRI、PET等多模态医学影像数据,显著提升了肿瘤分类准确性。项目内容包括环境配置(Python 3.8+、PyTorch 1.9+)、数据预处理(DICOM/NIfTI格式处理、强度归一化)、多模态数据集类实现,以及训练验证测试集划分。关键特点是采用MONAI医学影像处理库,实现三维医学影像的标准化预处理流程,并支持多种模态数据的并行加载与联合训练,为后续模型复现和迁移学习奠定基础。

max500600的博客 1241

sniffer技术原理及应用,包括编程方法和工具使用(二)

sniffer技术原理及应用,包括编程方法和工具使用(二) ,呵呵,不仅仅工网IP,只有我和交换机两个MAC(这次中国人干的不错),没希望找到第三者,很安全,但不都这样安全,很多人的网络还是很糟糕的.很多加密协议可以用来提高安全性,但老的POP3,SMTP,HTTP,FTP这种协议应用广泛,不可能在短时间内完全取代,而且加密也是有待价的,所以对于要求较高的场合,才会加密.不过sniff

超然楼 1310

msf后渗透之获取登入password、远程控制、调用摄像头

在terminal输入load kili creds_all直接获取密码(不一定成功) 使用kiwi_cmd sekurlsa::logonpasswords获取密码

m0_61506558的博客 2964

Sniffer原理(一)(zz扬帆blog)

(转自http://www.wesoho.com/article.asp?id=859)袁哥 yuange@163.net >         大家经常讨论SNIFFER,觉得还是很多人没有真正理解SNIFFER,所以把我的一点理解写出来大家共享。     先讲讲HUB的工作原理吧。由于以太网等很多网络(常见共享HUB连接的内部网)是基于总线方式,物理上是广播的,就是一个机

dylan的专栏 1037

EMC设计技巧及经验总结3:TVS的使用

Way back in undergrad circuits class(回到本科时的电路课程), our TA(助教) loved to give uslittle “black box” circuits. We’d measure the voltage and current characteristics, then have to determine what compone

snmplink的博客 2410

『杭电1199』Color the Ball

Problem Description There are infinite balls in a line (numbered 1 2 3 ....), and initially all of them are paint black. Now Jim use a brush paint the balls, every time give two integers a b and follow by a char 'w' or 'b', 'w' denotes the ball from a to

漠宸离若的博客 497

sniffer超级详细介绍

一.有关sniffer及sniffer的含义 sniffers(嗅探器)几乎和internet有一样久的历史了.Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。随着Internet及电子商务的日益普及,Internet的安全也越来越受到重视。在Internet安全隐患中扮演重要角色之一的Sniffer以受到越来越大的关注,所以今天我要向大家介

2万+

使用 WSL 在 Windows 上安装 Linux

开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。

隔壁老瓦的专栏 2872

SNIFFER的含义和工作原理

一.有关sniffer及sniffer的含义   sniffers(嗅探器)几乎和internet有一样久的历史了.Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。随着Internet及电子商务的日益普及,Internet的安全也越来越受到重视。在Internet安全隐患中扮演重要角色之一的Sniffer以受到越来越大的关注,所以今天我要向大

kingofbird的专栏 1238

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

以太网 sniffer 原理

      以太网 sniffer 原理    以太网环境下的嗅探本身是比较简单的,只要网卡能设置成混杂模式且有数据包到达网卡,则可用多种方法捕获数据包并进行各种协议分析。在LINUX下可用RAW套接字,SOCK_PACKET套接字, LIBPCAP函数包等方法捕获数据包。    在共享型以太网中,上述两个条件显然是满足的。所有的主机都连接到HUB,而HUB对数据包传输形式是广播。这意味着

FISH 的专栏 2057

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

sniffer

https://baike.baidu.com/item/sniffer/97532?fr=aladdin Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。 #include<stdio.h> #include<string.h> #include&...

feelinghappy的专栏 2678

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Sniffer原理实现的代码

  最近写的一个程序用到了windows下面的sniffer原理。刚刚完成了原型系统的构建,现在把它写下来。感谢raphyer 的文章:使用Sniffer截获流经本机网卡的IP数据包  很多代码是直接copy过来的,现鄙视自己一下。在project->setting->link->object/library modules:添加Ws2_32.lib 库文件  在stdafx.h文件中:#incl

soar的专栏 1810

详解网络嗅探工具的原理|Sniffer|Wireshark

Sniffer(嗅探器)是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。Snifffer可以作为能够捕获网络报文的设备,ISS为Sniffer这样定义:Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。 Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,

2378

SNIFFER(嗅探器)基础知识

SNIFFER(嗅探器)-简介Sniffer(嗅探器)是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。Snifffer可以作为能够捕获网络报文的设备,ISS为Sniffer这样定义:Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的

6226
上一篇: 网络嗅探软件sniffer原理及具体软件介绍 2004年的
下一篇: Winpcap(百度百科)
dylanlrp
博客等级 码龄19年 23粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值