linux下实现 tcpdump

简介:

网络数据采集分析工具TcpDump的简介

  顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

  我们用尽量简单的话来定义tcpdump,就是:dump the traffice on a network.,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东西之一。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

网络数据采集分析工具TcpDump的安装

系统环境 centos-5.5

软件     tcpdump-3_4a5.rpm

安装软件 rpm -ivh tcpdump-3_4a5.rpm

使用方法

tcpdump的选项介绍

-a    将网络地址和广播地址转变成名字;

-d    将匹配信息包的代码以人们能够理解的汇编格式给出;

-dd    将匹配信息包的代码以c语言程序段的格式给出;

-ddd   将匹配信息包的代码以十进制的形式给出;

-e    在输出行打印出数据链路层的头部信息;

-f    将外部的Internet地址以数字的形式打印出来;

-l    使标准输出变为缓冲行形式;

-n    不把网络地址转换成名字;

-t    在输出的每一行不打印时间戳;

-v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;

-vv    输出详细的报文信息;

-c    在收到指定的包的数目后,tcpdump就会停止;

-F    从指定的文件中读取表达式,忽略其它的表达式;

-i    指定监听的网络接口;

-r    从指定的文件中读取包(这些包一般通过-w选项产生);

-w    直接将包写入文件中,并不分析和打印出来;

-T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)

范例说明:

1 想要截获所有192.168.0.102 的主机收到的和发出的所有的数据包

tcpdump host 192.168.0.102

2 实现获取主机192.168.0.102除了和主机210.27.48.2之外所有主机通信的ip包

tcpdump ip host 192.168.0.102 and ! 119.75.217.56

3 获取主机210.27.48.1接收或发出的telnet包

tcpdump tcp port 23 host 210.27.48.1



本文转自 mailfile 51CTO博客,原文链接:http://blog.51cto.com/mailfile/1272489,如需转载请自行联系原作者

相关文章
|
28天前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
44 0
|
3月前
|
网络协议 Linux
Linux命令(120)之tcpdump
Linux命令(120)之tcpdump
37 0
|
5月前
|
Linux
linux下用tcpdump抓包
linux下用tcpdump抓包
|
4月前
|
数据采集 机器学习/深度学习 网络协议
Linux|操作系统|应该知道的网络抓包知识(主要是wireshark,tcpdump)
Linux|操作系统|应该知道的网络抓包知识(主要是wireshark,tcpdump)
72 0
|
关系型数据库 MySQL Linux
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
333 0
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
|
机器学习/深度学习 网络协议 Linux
Linux网络管理之tcpdump命令 – 监听网络流量
tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。
632 0
Linux网络管理之tcpdump命令 – 监听网络流量
|
Linux 网络安全 开发工具
Linux:expect实现自动拉取git代码
Linux:expect实现自动拉取git代码
495 0
Daz
|
Unix Linux Shell
GNU/Linux下实现一个简易shell,支持多重管道
简易shell,支持多重管道
Daz
464 0
|
监控 Shell Linux
【Linux】进程控制 —— 进程创建 | 进程退出 | 进程等待 | 进程程序替换 | 实现简易shell
本文将介绍进程控制;最后自己实现简陋的shell,对于bash会有更深的理解。 前置文章:进程虚拟地址空间;环境变量。
303 0
【Linux】进程控制 —— 进程创建 | 进程退出 | 进程等待 | 进程程序替换 | 实现简易shell
Daz
|
IDE Unix Linux