首页 > 代码库 > tcpdump抓包详解

tcpdump抓包详解

  1. 准备工作:本次采用的环境是centos6.5

    默认Linux没有安装tcpdump  我们需要安装

    1)yum install tcpdump -y

    技术分享

    2)如果忘记了这个软件的用法,我们可以使用 tcpdump --help 来查看一下使用方法

        技术分享

      3)一般我们的服务器里边只有一个网卡,使用tcpdump可以直接抓取数据包,但是这样查看太麻烦了,所以都会添加参数来进行获取的。

例如我截取本机(192.168.31.147)和主机114.114.114.114之间的数据

tcpdump -n -i eth0 host 192.168.31.147 and 114.114.114.114

    注: 如果使用的双网卡也可以抓取Eth1  (tcpdump -i eth1))

技术分享

    4)还有截取全部进入服务器的数据可以使用以下的格式

tcpdump -n -i eth0 dst 192.168.31.147

或者服务器有多个IP 可以使用参数

tcpdump -n -i eth0 dst 192.168.31.147  or  192.168.31.157

技术分享

     5)我们抓取全部进入服务器的TCP数据包使用以下的格式,大家可以参考下

 tcpdump -n -i eth0 dst 192.168.31.147 or 192.168.31.157 and tcp

从本机出去的数据包

tcpdump -n -i eth0 src 192.168.31.147 or 192.168.31.157

tcpdump -n -i eth0 src 192.168.31.147 or 192.168.31.157 and port ! 22 and tcp


或者可以条件可以是or  和 and  配合使用即可筛选出更好的结果。

技术分享

2 tcpdump详细命令讲解

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

 


本文出自 “小熊的窝” 博客,请务必保留此出处http://li291027828.blog.51cto.com/9409727/1926280

tcpdump抓包详解