网络词汇基本概念,什么是Sniffer?(网络词汇的定义)

网络词汇基本概念,什么是Sniffer?(网络词汇的定义)

什么是Sniffer

现在人们谈到黑客攻击,一般所指的都是以主动方式进行的,例如利用漏洞或者猜测系统密码的方式对系统进行攻击。但是其实还有一类危害非常大的被动攻击方式往往为大家所忽视,那就是利用Sniffer进行嗅探攻击。

Sniffer,中文可以翻译为嗅探器,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。黑客们常常用它来截获用户的口令。据说某个骨干网络的路由器曾经被黑客攻人,并嗅探到大量的用户口令。本文将详细介绍Sniffer的原理和应用。

一、Sniffer 原理1.网络技术与设备简介

在讲述Sni计er的概念之前,首先需要讲述局域网设备的一些基本概念。

数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。

每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。

在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释),那么它就可以捕获网络上所有的数据包和帧。 2.网络监听原理

Sniffer程序是一种利用以太网的特性把网络适配卡(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,一般也不会得到什么有用的信息,因为通常网络上的信息流量是相当大的,如果不加选择地接收所有的包,然后从中找到所需要的信息非常困难;而且,如果长时间进行监听,还有可能把放置Sniffer的机器的硬盘撑爆。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;

/* 紧急事件标志*/

};<p> /*主函数*/

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 ::: ]n\”,bytes_recieved);

/*显示出接收的数据字节数*/

printf(\”source address ::: %sn\”,inet_ntoa(from.sin_addr));

/*显示出源地址*/

ip=(struct ip *)buffer;

/*把接收的数据转化为我们预先定义的结构,便于查看*/

printf(\”IP header length ::: %dn\”,ip->ip_length);

/*显示IP头的长度*/

print(\”Protocol ::: %dn\”,ip->ip_protocol);

/*显示协议类型,6是TCP,17是UDP*/

tcp=(struct tcp *)(buffer (4*ip->ip_iplength));

/*上面这名需要详细解释一下,因为接收的包头数据中,IP头的大小是固定的4字节*/

/*所以我用IP长度乘以4,指向TCP头部分*/

printf(\”Source port ::: %dn\”,ntohs(tcp->tcp_source_port); /*显示出端口*/

printf(\”Dest prot ::: %dn\”,ntohs(tcp->tcp_dest_port));/*显示出目标端口*/

以上这个C程序是为了说明Sniffer的接收原理而列举的一个最简单的例子,它只是完成了Sniffer的接收功能,在运行它之前,我们还需要手工把同卡设为混杂模式,在root权限下用如下命令设置: ifconfig eth0 promisc 假设etho是你的以太网设备接口,然后运行编译好的程序,就可以看到接收的数据包了。

这个程序虽然简单,但是它说明了Sniffer的基本原理,就是先把同卡设备设为混杂模式,然后直接接收IP层的数据。

当然这个程序的功能也太简单,只能显示源地址、目标地址和源端口、目标端口等极为简单的信息,这对于黑客来说是没有什么用处的,黑客要的是密码之类的信息,这可以使用一些免费的Sniffer程序来完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月8日 上午11:58
下一篇 2022年12月8日 下午12:12

相关推荐

  • 信息系统项目管理特点

    信息系统项目管理特点 随着信息技术的不断发展,信息系统项目管理成为了一个日益重要的话题。信息系统项目管理不仅可以帮助组织实现其目标,还可以提高生产效率,降低成本,提高客户满意度。本…

    科研百科 2024年5月23日
    57
  • 科研项目命名

    项目名称: 探索宇宙奥秘的科研项目 科研项目简介: 探索宇宙奥秘的科研项目旨在探索宇宙的起源和演化,了解宇宙中存在的各种天体和现象,并研究宇宙对地球的影响。该项目由清华大学的一群科…

    科研百科 2024年10月12日
    7
  • 党建阵地作用发挥不明显

    党建阵地作用发挥不明显 党建阵地是中国共产党在党员教育、思想引领和文化传承等方面的重要场所,是党组织展示自身形象、宣传党的政策和思想、引导党员发挥作用的重要平台。然而,在一些企业中…

    科研百科 2024年11月8日
    47
  • 凤阳:“三步走”构筑“全链条”基层党建推进机制 – 24H – 安徽财经网

    来源:安徽财经网 市场星报、安徽财经网(www.ahcaijing.com)讯 今年以来,凤阳县创新党建工作思路,细化工作措施,依次在年初开展基层党建“宣讲、调研”活动,在年中开展…

    科研百科 2023年9月28日
    168
  • 能战斗的低代码该是什么样的​?

    零代码/低代码平台出现应该有20年了吧,目前市场上的零代码/低代码平台林林总总应该有上百个,实话实说多数平台同质化很严重,而且境遇相对比较尴尬,多数都是开发人员不愿意用,业务人员不…

    科研百科 2024年5月17日
    33
  • 再添三家!13家省级博士工作站为清城高质量发展抢占“智高点”

    4月2日,笔者从清城区人社局获悉,近日,广东省人力资源和社会保障厅发布《关于同意广州医科大学附属第四医院等170家广东省博士工作站备案的通知》,清远忠信世纪电子材料有限公司、清远凯…

    科研百科 2024年4月18日
    44
  • 腾讯云与皖企长飞先进达成合作 共建协同办公平台(腾讯云 合肥)

    大皖新闻讯近日,腾讯云与安徽长飞先进半导体(以下简称“长飞先进”)在芜湖签署合作框架协议,双方将充分发挥各自技术及资源优势,助力长飞先进搭建企业级协同办公平台,为长飞先进提供统一的…

    科研百科 2024年6月14日
    45
  • 精准施工项目管理系统

    精准施工项目管理系统 随着现代建筑行业的不断发展和数字化技术的应用,精准施工项目管理系统已经成为建筑行业中必不可少的一部分。这种系统能够帮助施工团队更好地管理项目,提高施工质量和效…

    科研百科 2024年12月12日
    0
  • 关注!南开科研最新成果速览(南开大学科学技术研究部)

    近期,南开科技工作者 坚守科研一线,刻苦攻关 继续向科学技术广度和深度进军 持续产出了一批高水平科研成果 让我们走近这些凝聚智慧与创造力的结晶 共同感受南开的科研力 两个首次 科学…

    科研百科 2024年4月20日
    70
  • 项目管理系统 好处

    项目管理系统的好处 项目管理系统是一种有效的工具,可以帮助组织更好地管理项目,提高项目的效率和质量。本文将介绍项目管理系统的好处,包括: 1. 提高项目管理效率 项目管理系统可以提…

    科研百科 2024年12月13日
    1