oracle tcpdump生成bpf,tcpdump简介及常用命令实例

tcpdump简介

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

tcpdump是非常强大的网络安全分析工具,可以将网络上截获的数据包保存到文件以备分析。可 以定义过滤规则,只截获感兴趣的数据包,以减少输出文件大小和数据包分析时的装载和处理时 间。

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

tcpdump常用命令实例

默认启动

tcpdump普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

监听网卡eth0

tcpdump -i eth0这个方式最简单了,但是用处不多,因为基本上只能看到数据包的信息刷屏,压根看不清,可以使 用ctrl+c中断退出,如果真有需求,可以将输出内容重定向到一个文件,这样也更方便查看。

监听指定的主机

tcpdump -i eth0 -nn 'host 192.168.168.2'这样的话,192.168.168.2这台主机接收到的包和发送的包都会被抓取。tcpdump -i eth0 -nn 'src host 192.168.168.2'这样只有192.168.168.2这台主机发送的包才会被抓取。

tcpdump -i eth0 -nn 'dst host 192.168.168.2'这样只有192.168.168.2这台主机接收到的包才会被抓取。

监听指定端口

tcpdump -i eth0 -nnA 'port 80'上例是用来监听主机的80端口收到和发送的所有数据包,结合-A参数,在web开发中,真是非常有 用。

监听指定主机和端口

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.168.2'

9/10

多个条件可以用and,or连接。上例表示监听192.168.168.2主机通过80端口发送的数据包。

监听除某个端口外的其它端口

tcpdump -i eth0 -nnA '!port 22'如果需要排除某个端口或者主机,可以使用“!”符号,上例表示监听非22端口的数据包。

抓取特定目标ip和端口的包tcpdump host 192.168.168.2 and tcp port 8000

捕获的数据太多,不断刷屏,可能需要将数据内容记录到文件里,

需要使用-w参数:

tcpdump -X -s 0 -w A.cap host 192.168.168.2 and tcp port 8000则将之前显示在屏幕中的内容,写入tcpdump可执行文件同级目录下的A.cap文件中。

文件查看方式如下,需要使用-r参数:tcpdump -X -s 0 -r test.cap host 192.168.168.2 and tcp port 8000

使用tcpdump抓取HTTP包

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

0x4745 为"GET"前两个字母"GE",0x4854 为"HTTP"前两个字母"HT"。

tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接 打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数 据并保存到文件中,然后再使用其他程序(如Wireshark)进行解码分析。当然也应该定义过滤规 则,以避免捕获的数据包填满整个硬盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值