From:https://blog.csdn.net/weixin_34306593/article/details/91725313

netsniff-ng – 网络嗅探利器

netsniff-ng github  地址:https://github.com/netsniff-ng/netsniff-ng

1、WireShark

  WireShark 是一个开源免费的高性能网络协议分析软件,它的前身就是非常著名的网络分析软 件Ethereal。你可以使用它来解决网络疑难问题,进行网络协议分析,以及作为软件或通信协议的开发参考,同时也可以用来作为学习各种网络协议的教学 工具等等。WireShark支持现在已经出现了绝大多数的以太网网卡,以及主流的无线网卡。

  WireShark具有如下所示的特点:

  • (1) 支持多种操作系统平台,可以运行于Windows、Linux、Mac OS X10.5.5、Solaris和FreeBSD等操作系统上;
  • (2) 支持超过上千种的网络协议,并且还会不断的增加对新协议的支持;
  • (3) 支持实时捕捉,然后可在离线状态下进行分析;
  • (4) 支持对VOIP数据包进行分析;
  • (5) 支持对通过IPsec、ISAKMP、Kerberos、SNMPv3、SSL/TLS、WEP 和 WPA/WPA2 等协议加密了的数据包解密;
  • (6) 可以实时获取来自以太网、IEEE 802.11、PPP/HDLC、ATM、蓝牙、令牌环和FDDI(光纤)等网络中的数据包;
  • (7) 支持读取和分析许多其它网络嗅探软件保存的文件格式,包括 Tcpdump、Sniffer pro、EtherPeek、Microsoft Network Monitor和CISCO Secure IDS 等软件;
  • (8) 支持以各种过滤条件进行捕捉,支持通过设置显示过滤来显示指定的内容,并能以不同的颜色来显示过滤后的报文;
  • (9) 具有网络报文数据统计功能;
  • (10) 可以将它捕捉到的数据导出为XML、PostScript、CSV及普通文本文件的格式。

WireShark 官网:https://www.wireshark.org

  1. WireShark 要在 Windows系统下运行时,还需要一个名为 Winpcap 的驱动库,但是现在 Wireshark 底层用的是 Npcap, Npcap 是 神器Nmap 套件中一个Windows数据抓包程序,主要用于Windows数据包嗅探和发送。Npcap开源项目源于2013年由Nmap创始人Gordon Lyon和北京大学罗杨博士发起,并由Google Summer of Code计划赞助,以MIT协议发布。由于Winpcap 已经停止更新(此前版本的Npcap主要基于Winpcap(2013停更)),Npcap 通过底层开发构建了全新自己的 Npcap 原始数据包捕获/发送驱动程序,在兼容WinpcapAPI 的基础上,使用更加现代 API 接口,在功能、性能、安全性方面都完胜老版本。
  2. 如果是在 Linux 系统下使用时,就应当使用 Libpcap 驱动库,它现在的版本是 Libpcap1.0.0,我们可以从 www.tcpdump.org 上下载。  

WireShark 在 Windows 和 Linux 系统下安装之前,首先你得保证系统上已经安装了 Npcap 或 Linpcap。

下图就是 WireShark 在 Windows 系统下运行时的主界面。

选一个要抓取数据包的网卡接口,就可以捕获接口上的数据

2、Tcpdump 和 Windump

  Tcpdump 是一个老牌的使用最频繁的网络协议分析软件之一,它是一个基于命令行的工具。Tcpdump 通过使用基本的命令表达式,来过滤网络接口卡上要捕捉的流量。它支持现在已经出现了绝大多数的以太网适配器。

  Tcpdump 是一个工作在被动模式下的网络嗅探器。 我们可以用它来在Linux系统下捕获网络中进出某台主机接口卡中的数据包,或者整个网络段中的数据包,然后对这些捕获到的网络协议(如TCP、ARP) 数据包进行分析和输出,来发现网络中正在发生的各种状况。例如当出现网络连通性故障时,通过对TCP三次握手过程进行分析,可以得出问题出现在哪个步骤。 而许多网络或安全专家,都喜欢用它来发现网络中是否存在ARP地址欺骗。我们也可以将它捕获到的数据包先写入到一个文件当中,然后用WireShark等 有图形界面的嗅探器读取和分析。

  它的命令格式为:

  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名]

  [ -s snaplen] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

  我们可以使用-i参数来指定要捕捉的网络接口卡,用-r来读取已经存在的捕捉文件,用-w来将捕捉到的数据写入到一个文件中。至于其它的参数,我们可以从它的man文档中得到详细的说明,或者通过输入“tcpdump –-help”来到它的帮助信息。

  Tcpdum有一个非常重要的特点就是可以使用正则表达式来作为过滤网络报文的条件,这使得它的 使用变得非常灵活。我们可以通过它内建的各种关键字来指定想要过滤的条件,一旦一个网络数据包满足表达式的条件,则这个数据包就会被捕获。如果我们没有给 出任何条件,那么所有通过指定网络接口卡中的网络报文都会被捕获。

  Tcpdump使用以下三种类型的关键字:

  • (1)、用于表式类型的关键字,主要有Host、Net和Port。它们分别用来指定主机的IP地址、指定网络地址和指定端口。如果你没有指定关键字,它就会使用缺省的Host类型。
  • (2)、用于表式传输方向的关键字,主要有Src、Dst。分别用来指定要捕捉的源IP地址是什么或目的IP地址是什么的包。
  • (3)、用来表式捕捉什么协议的关键字,主要有ip,arp,tcp,udp等。

  这些关键字之间可以使用逻辑运算关键字来连接,以便于我们指定某个范围或排除某个主机等。这些逻 辑运算关键字也有三个,分别是取非运算“not”,或者可以用“!”符号表示;与运算“and”,可以用“&&” 符号表示;或运算“or”,可以用“||”符号表示。

  Tcpdump 的关键字还有很多,我就不在此全部列出。其它的可以通过它的帮助文档来得到它们的详细说明。

  

Tcpdump  官网:http://www.tcpdump.org/

Tcpdump 可以很好地运行在UNIX、Linux和Mac OSX操作系统上,可以从官网上下载它的二进制包。同时,要运行它,也需要系统中安装有 Libpcap1.0.0 这个驱动库。

  Tcpdump 在 Windows 系统下的版本就是 Windump,它也是一个免费的基于命令行方 式的网络分析软件。当然,我们在使用 Windump 之前,同样要确保系统中已经安装有 WinPcap 4.0.2 驱动库。

3、 DSniff 工具包

  DSniff是一个非常强大的网络嗅探软件套件,它是最先将传统的被动嗅探方式向主动方式改进的网络嗅探软件之一。DSniff软件套件中包含了许多具有特殊功能的网络嗅探软件,这些特殊的网络嗅探软件可以使用一系列的主动攻击方法,将网络流量重新定向到网络嗅探器主机,使得网络嗅探器有机会捕获到网络中某台主机或整个网络的流量。这样一来,我们就可以将DSniff在交换或路由的网络环境中,以及Cable modem拔号上网的环境中使用。甚至,当安装有DSniff的网络嗅探器不直接连接到目标网络当中,它依然可以通过运程的方式捕获到目标网络中的网络报文。DSniff支持Telnet 、Ftp、Smtp、P0P3、HTTP,以及其它的一些高层网络应用协议。它的套件当中,有一些网络嗅探软件具有特殊的窃取密码的方法,可以用来支持对SSL和SSH加密了的数据进行捕获和解密。DSniff支持现在已经出现了的绝大多数的以太网网卡。

  我们可以使用DSniff来验证我们的安全防范设置是否可靠,以及用来监控使用交换机或路由器的网络环境中网络的运行情况。但我们在使用DSniff之前,最好先考虑清楚它本身可能会给我们带来的新的安全风险,以防止造成不必要的损失。

  DSniff套件当中,主要包含有以下几个方面的网络嗅探软件:

  • (1)、arpspoof (arp欺骗):通过它来进行ARP地址欺骗,将网络流量重定向到网络嗅探主机,然后就机会捕捉到网络数据包;
  • (2)、dnsspoof (dns欺骗):通过它来进行DNS欺骗。它有一个非常重要的功能就是webmitm,这种功能主要是用来捕获SSL和SSH加密了的数据;
  • (3)、mailsnarf:它可以将SMTP方式发送的E-Mail信息,重新组装成一种MBOX格式,然后就可以离线状态下被一些邮件收发软件读取;
  • (4)、filesnart:它可以用来得到以NFS、SMB方式传输的文件的一个副本;
  • (5)、urlsnart:它可以嗅探到来自HTTP流量中所有发送的URLs 请求,并保存为通用日志文件(CLF)格式。这种日志文件可以被大多数的WEB服务器所使用,可以在离线的状态下被WEB日志分析工具读取;
  • (6)、webspy :它能将从客户处嗅探到的URL地址,发送到攻击者的WEB浏览器中显示。并且实时更新,攻击者就可以看到你到底浏览了哪些网站;
  • (7)、msgsnarf :用它可以对一些实时聊天软件进行嗅探;
  • (8)、screenspy :用进行屏幕监控;
  • (9)、macof:它使用MAC地址溢出攻击方法来攻击交换机。通过不断向交换机发送包含有冒充的MAC地址的数据包,以此来溢出交换机的MAC地址表。此时,交换就会以广播的方式发送所接收到的数据包。它一般在上述嗅探软件前使用;
  • (10)、tcpkill:一种拒绝服务攻击(DoS)。主要用来切断与合法主机的网络连接,保证嗅探工作的正常进行。它一般在上述嗅探软件前使用。

运行 DSniff 所需的文件:

  DSniff 可以在 Linux 和 Windows操作系统平台下使用,它支持绝大多数的Linux发行版本和Windows 2000以上的版本。DSniff 现在在Linux中的版本是dsniff-2.4。我们可以从www.monkey.org上下载dsniff- 2.4b1.tar.gz这个包。当我们在Linux系统平台中使用DSniff时,还需要以下的几个文件:

  • (1)、dsniff-2.4-configure.in.diff补丁包;
  • (2)、dsniff-2.4-sshow.c.diff补丁包;
  • (3)、libnet-1.0.2a.tar.gz;
  • (4)、libnids-1.16-1.i386.rpm;
  • (5)、libpcap-0.4-39.i386.rpm;

如果安装了上述文件还不能正常工作,我们还必需安装db4.1.25和openssl。

上述的这些文件可以在www.xfocus.net/tools/上下载。

  如果要在Windows系统平台下使用,我们就需要以下的这些文件:

  • (1)、dsniff-1.8-win32-static.tgz;
  • (2)、libnids-1.16-win32.zip;
  • (3)、libevent-0.6-win32.zip;
  • (4)、winpcap4.0及以上版本。

  它们也可以从 www.xfocus.net/tools/上下载。

4、 Ettercap

  Ettercap也是一个高级网络嗅探软 件,它可以在使用交换机的网络环境中使用。Ettercap能够对大多数的网络协议数据包进行解码,不论这个数据包是不是加密过了的。它也支持现在已经出 现了的绝大多数以太网网卡。Ettercap还拥有一些独特的方法,用来捕获主机或整个网络的流量,并对这些流量进行相应的分析。

Ettercap具有如下所示的特点:

  • (1)、判断网络中活动主机的操作系统类型;
  • (2)、得到网络中所有活动主机的IP地址和MAC地址;
  • (3)、可以指定以静态或被动模式进行工作;
  • (4)、可以从指定的过滤规则文件中加入过滤规则;
  • (5)、具有包过滤功能,在数据流量比较大的情况下让你便于得到需要的信息。
  • (6)、可以用来收集网络中以明文方式传输的用户名和密码;
  • (7)、可以将捕获到的数据保存到指定位置的文件中;
  • (8)、可以用来检测网络中是否还有其它活动的嗅探器;
  • (9)、支持以插件的方式来扩展功能;
  • (10)、可以通过一些主动的攻击,来得到加密了的数据;
  • (11)、它内建了许多攻击方法,如ARP地址欺骗,以及字符注入攻击等。

Ettercap 的大部分特性与 DSniff 相似。它可以在字符模式下使用,也可以在使用 Ncurses based GUI和GTK2接口的图形界面上使用。当我们安装完Ettercap以后,就可以用“-T”选项指定它运行在字符模式下,以“-C”选项指定它运行在使 用Ncurses based GUI的图形模式下,还可以“-G”选项指定它运行在使用GTK2接口的图形模式下。Ettercap的命令格式如下:

  Ettercap [选项] [host:port] [host:port] [mac] [mac]

  它有许多选项,我们可以在字符模式下输入“ettercap –help”命令来得到它们的说明。

运行Ettercap所需的文件:

  Ettercap 可以 Linux、Windows、FreeBSD 、OpenBSD 、NetBSD 、Mac OS X 及Sloaris等操作系统平台中运行。

当我们在Linux下使用Ettercap嗅探软件时,就需要下列所有的这几个文件:

  • (1)、ettercap-NG-0.7.3.tar.gz;
  • (2)、libpcap >= 0.8.1;
  • (3)、libnet >= 1.1.2.1;
  • (4)、libpthread;
  • (5)、zlib。

如果我们还要在图形界面中使用或者还想得到SSH和SSL加密了的数据,还应当得下列的文件:

  • (1)、libltdl,它是libtool的一部分;
  • (2)、libpcre;
  • (3)、openssl 0.9.7;
  • (4)、ncurses >= 5.3;
  • (5)、pkgconfig >= 0.15.0;
  • (6)、Glib >= 2.4.x、Pango >= 1.4.x。

如果我们要在Windows系统下使用它,就必需使用下列两个文件:

  • (1)、Ettercap-NG-0.7.3-win32.exe;
  • (2)、winpcap4.0及以上版本。

上面所示的文件,我们都可以从 https://www.ettercap-project.org 网站下载。

5、NetStumbler

  NetStumbler是一个用来寻找使用IEEE802.11a/b/g标准的无线局域网工具。它支持 包括PCMCIA 无线适配器在内的绝大多数主流无线适配器,同时,还加入了对全球 GPS 卫星定位系统的支持。

  NetStumbler可以完成以下的工作:

  • (1)、用来进行“战争驾驶”;
  • (2)、用来验证无线客户和无线AP的配置是否存在弱点;
  • (3)、用来寻找一些可以接入的无线局域网所在的方位。
  • (4)、用来检测干扰无线局域网信号的原因;
  • (5)、用来检测一些没有经过授权的无线接入点;
  • (6)、用来得到无线局域网的SSID值。

运行NetStumbler所需的文件:

  NetStumbler可以在Windows98及以上的操作系统版本中运行,它还有一个精简版本,用来在Windows CE系统下使用。

  NetStumbler是一个免费的软件,它现在的最新版本是 NetStumbler0.4.0,Windows CE下最新的版本是MiniStumbler0.4.0。这两个安装包你都可以从 http://www.netstumbler.com/ 网站下 载。图5.1是NetStumbler启动后的主界面。

6、Kismet

  Kismet 一个基于IEEE802.11系统标准的无线网络检测、嗅探软 件,以及入侵检测系统,它是一个开源的、免费的软件。Kismet能够与绝大多数支持RF监控模式的无线适配器一起工作。例如PRISM2、2.5、3和 GT无线芯片,以及Orinoco Gold和Atheros a/b/g无线芯片的无线适配器。当无线适配器处于监控模式(monitoring mode)时,它可以嗅探到兼容IEEE802.11a/b/g标准的无线网络中传输的网络流量。Kismet主要以被动的方式对无线网络进行嗅探,来检测出标准的无线网络名称,包括隐藏了SSID值的无线网络也能够被检测到。

  Kismet具有以下的特点:

  • (1)、能将嗅探到的文件保存为Tcpdump等软件可以读取的格式;
  • (2)、能检测出无线网络现在所使用的IP地址范围;
  • (3)、能检测出无线网络中安装有NetStumbler软件的主机,以此来找到非法无线接入者;
  • (4)、能检测出隐藏了的无线网络SSID值;
  • (5)、与GPS合作,绘制无线访问点和无线客户所在位置的网络地图;
  • (6)、使用客户/服务器体系结构;
  • (7)、可识别无线访问点和无线客户中无线适配器的制造商和工作模式;
  • (8)、能找出无线访问点和无线客户现在存在的弱点;
  • (9)、可以解码通过WEP加密的数据包;
  • (10)、可以和其它软件合作,来扩展这些软件的应用范围。例如可以与snort网络入侵检测系统合作;

  运行 Kismet 所需的文件:

  Kismet 可以在 Linux2.0 及以上的发行版本中运行得很好。在刚开始时,它只支持Linux系统平台,现在,它也有运行在Windows2000及以上系统下的版本。

  当Kismet在 Linux发行版本中运行,我们可以从http://www.kismetwireless.net/download.shtml下载Kismet- 2008-05-R1文件。如果要在Windows2000及以上系统中运行,我们就需要从上述相同网站中下载 setup_kismet_2008-05-R1.exe安装文件,还必需从www.cacetech.com/support /downloads.htm 下载AirPcap的setup_airpcap_3_2_1.exe文件。图6.1就是Kismet在Linux系统字符终端下运行的界面。

  在以太网中,还有一些网络嗅探软件也是比较常用的。例如 Sniffer Pro网络协议分析软件,它可以在多种平台下运行,用来对网络运行状况进行实时分析,而且又有丰富的图示功能。以及 Analyzer,它是一个运行在Windows操作系统下的免费的网络嗅探软件。另外,还一些商业性质的网络嗅探软件,虽然它们需要支付一定的费用,但是,它们的功能也是没得说的,其中比较著名的代表就是 EtherPeek 套件。

wireshark、tcpdump、dsniff、Ettercap、NetStumbler、netsniff-ng相关推荐

  1. Wireshark - 【学习笔记】(Ubuntu18.04)、协议分析(IP、ARP、ICMP、DNS、UDP、TCP、DHCP、HTTP、HTTPS、FTP、Telnet)

    参考视频: Wireshark零基础入门到实战/网络抓包/流量分析必备 Wireshark的示例包 https://wiki.wireshark.org/SampleCaptures 下面很多实验的包 ...

  2. 网络编程(wireshare抓数据包及分析、三次握手与四次挥手、数据库sqlite3及操作)笔记-day15

    前言 今天整理了网络编程的下篇,主要归纳了wireshark抓数据包及分析.TCP安全可靠原因分析(三次握手.四次挥手).数据库sqlite3及操作(shell脚本和C语言对数据库的增.删.改.查及关 ...

  3. 【ssl认证、证书】SSL双向认证java实战、keytool创建证书

    文章目录 概述 keytool示例 参考 相关文章: //-----------Java SSL begin---------------------- [ssl认证.证书]SSL双向认证和SSL单向 ...

  4. java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)

    前言 本文对Java的一些锁的概念和实现做个整理,涉及:公平锁和非公平锁.可重入锁(又名递归锁).自旋锁.独占锁(写)/共享锁(读)/互斥锁.读写锁 公平锁和非公平锁 概念 公平锁是指多个线程按照申请 ...

  5. 假如有Thread1、Thread2、ThreaD3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?...

    有两种方法: 第一种方法: 一般情况,我们实现多线程都是Thread或者Runnable(后者比较多),但是,这两种都是没返回值的,所以我们需要使用callable(有返回值的多线程)和future( ...

  6. AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字

    题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二 ...

  7. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充

    R语言把dataframe数据转化为tibble格式.查看每个数据列的缺失值个数.使用数据列的均值对数据列的缺失值进行填充 目录

  8. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义函数在三线表中添加p值 目录

  9. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB

    R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...

最新文章

  1. Linux系统中创建大文件,并作为文件系统使用
  2. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解
  3. vue-cli脚手架构建项目注意事项(填坑)
  4. Centos 6.4 搭建LANMP一键安装版
  5. 优秀的java代码_像这样写,Java菜鸟也能写出牛逼的代码
  6. 算法设计原则验证实验报告_算法设计与分析实验报告 统计数字问题
  7. 光学基础 光学积分器-通光管及透镜阵列
  8. mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
  9. ik分词器实现原理_SpringBoot整合Elasticsearch实现商品搜索
  10. 『算法设计_伪代码』快速排序
  11. Tokenisation word segmentation sentence segmentation
  12. android逐行写入读取_Android外部存储-读取,写入,保存文件
  13. SQL Server 2005 中的客户端 XML 处理
  14. 软件需求与分析——大二下需会知识点
  15. ANSYS入门例程笔记
  16. Excel数据透视表怎么做
  17. html 圣杯布局 高度,web圣杯布局
  18. linux纯黑窗口,Win10 20H1命令提示符窗口引入全黑设计
  19. Allegro如何导入高清Logo、二维码、防静电标识等图片以及汉字
  20. convs在MATLAB中,matlab2_MATELAB课程设计_ppt_大学课件预览_高等教育资讯网

热门文章

  1. 论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型
  2. 论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型
  3. 论文浅尝 | 基于知识库的神经网络问题生成方法
  4. 领域应用 | 推荐算法不够精准?让知识图谱来解决
  5. Android官方开发文档Training系列课程中文版:添加ActionBar之ActionBar浮层效果
  6. 1 计算机组成原理第一章 计算机系统概述 计算机发展历程、层次结构、性能指标
  7. PHP7 ini 配置大全
  8. 用scikit-learn学习主成分分析(PCA)
  9. OO第四单元——UML及其解析器——总结 暨 OO课程大总结
  10. CodeForces 869E The Untended Antiquity 二维树状数组,随机hash