计算机科学

首页 > 计算机科学

tcpdump

tcpdump
tcpdump console output
tcpdump 在终端里的输出
开发者 The Tcpdump team
稳定版本
稳定版本
4.7.4
(2015年4月22日,​3年前​(2015-04-22[1]
操作系统 Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, 其它类 *NIX 系统, Windows
类型 数据包式嗅探
许可协议 BSD许可证
网站 http://www.tcpdump.org/
源代码库 github.com/the-tcpdump-group/tcpdump

tcpdump 是一个运行在命令行下的嗅探工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 是一个在BSD许可证下发布[2]的自由软件。

tcpdump 适用于大多数的类Unix系统 操作系统:包括Linux、Solaris、BSD、Mac OS X、HP-UX和AIX 等等。在这些系统中,tcpdump 需要使用libpcap这个捕捉数据的库。其在Windows下的版本称为WinDump;它需要WinPcap驱动,相当于在Linux平台下的libpcap.

目录

  • 1 历史
  • 2 用途
  • 3 权限要求
  • 4 参考
  • 5 引用
  • 6 外部链接

历史

它最初由范·雅各布森,Craig Leres和Steven McCanne在1987年于劳伦斯伯克利国家实验室担任研究小组时写成,当时,20世纪90年代末,有许多不同的操作系统,和无数的补丁,没有很好地协调分布的tcpdump版本。于是Michael Richardson (mcr)和Bill Fenner在1999年创建了www.tcpdump.org。

用途

tcpdump能够分析网络行为,性能和应用产生或接收网络流量。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息,从而使用户能够进一步找出问题的根源。

也可以使用 tcpdump 的实现特定目的,例如在路由器和网关之间拦截并显示其他用户或计算机通信。通过 tcpdump 分析非加密的流量,如Telnet或HTTP的数据包,查看登录的用户名、密码、网址、正在浏览的网站内容,或任何其他信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。[3]

有很多用户喜欢使用柏克莱数据包过滤器来限制 tcpdump 产生的数据包数量,这样BPF会只把“感兴趣”的数据包到上层软件,可以避免从操作系统 内核向用户态复制其他数据包,降低抓包的CPU的负担以及所需的缓冲区空间,从而减少丢包率。

权限要求

一些类Unix操作系统,用户有必须拥有超级用户权限方可使用 tcpdump,因为在这些系统需要使用超级用户权限将网络界面设置为混杂模式。然而,可以通过使用 -Z 选项在完成嗅探之后站即下降到一个特定的非特权用户的权限。在某一些类Unix操作系统,数据包嗅探机制可以配置为允许非特权用户可以使用它,如果做到这一点,就不需要超级用户权限。

参考

  • Packetsquare, 一个协议器和回放工具
  • Tcptrace, 网络通讯消息截取工具
  • EtherApe, 一个图形化的网络流量嗅探器
  • Ngrep, 一个在网络通讯的数据包中匹配指定内容的工具
  • netsniff-ng, 一个自由、高性能的Linux下基于命令行的网络包分析工具
  • Wireshark, 跨平台的图形抓包软件

引用

  1. ^ tcpdump 和 libpcap 最新版本. tcpdump & libpcap. 2015-04-22 [2015-04-22].  外部链接存在于|publisher= (帮助)
  2. ^ 在源代码里关于许可证的说明(GIT 软件仓库). 
  3. ^ 网络数据采集分析工具. 

外部链接

  • tcpdump 的官方网站(包括libpcap)
  • WinDump的官方网站

上一篇:Google相册
下一篇:cURL
相关推荐