• tcpdump command


    工作中一直在用tcpdump,感觉非常方便,今天心血来潮百度了一下tcpdump的用法,才发现原来还有这么多强大的功能自己都不知道,那叫一个汗啊。

    以此文作为备份,记录一些新知道的用法,各位网友谁有新的用法,也可以及时告知我进行补充,一起丰富,哈哈!

    本人邮箱:rick1026zhang@gmail.com


    废话不多说,切入正题。命令及解释用红色字体,命令所需参数的参数值用斜体标示。


    先来看一个比较基本的用法:

    tcpdump -i eth0

    其中,eth0为参数值,表示需要抓包的网口,这是个必需参数哦。

    tcpdump支持很多的关键字,下面先看几个例子:

    (例1)tcpdump -i eth0 host 192.168.0.250 -----在网口eth0上抓取主机地址为192.168.0.250的所有数据包。

    (例2)tcpdump -i eth0 net 192.168.0.0/24 ------ 在网口eth0上抓取网络地址为192.168.0.0/24的所有数据包

    (例3)tcpdump -i eth0 port 80 ------ 在网口eth0上抓取端口为80的所有数据包(注意,这里不区分是源端口还是目的端口)

    当然,我们也可以指定源端口或目的端口

    (例4)tcpdump -i eth0 src port 80 and dst port6100 --- 在网口eth0上抓取源端口为80且目的端口为6100的数据包,这里用到了and逻辑运算符,后面再介绍

    (例5)tcpdump -i eth0 icmp --- 在网口eth0上抓取所有icmp协议的数据包

    以上几个例子,可以大致体现出tcpdump的基本用法。


    实际上,tcpdump主要包括三种类型的关键字,第一种是关于类型的关键字,主要包括host,net,port,如上面的例(1)(2)(3),第二种

    是确定传输方向的关键字,主要包括src,dst,src or dst,src and dst,这些关键字指明了传输的方向,如上面的例(4)。第三种是协议关键字,包括fddi,ip,arp,

    rarp,tcp,udp,imcp等,如上面的例(5)。

    除了这三种类型的关键字外,还有其他重要的关键字,如:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not'、'!',与运算符是'and'、'&&'、

    或运算符是'or'、'||',这些关键字可以组合起来构成强大的组合条件来满足我们的需求。


    先看看tcpdump的具体参数及意义:

    -i:指定tcpdump监听的网络接口

    -s:指定要监听数据包的长度

    -c:指定要监听的数据包数量,达到指定数量后自动停止抓包

    -w:指定将监听到的数据包写入文件中保存

    -A:指定将每个监听到的数据包以ACSII可见字符打印

    -n:指定将每个监听到数据包中的域名转换成IP地址后显示

    -nn:指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示

    -e:指定将监听到的数据包链路层的信息打印出来,包括源mac和目的mac,以及网络层的协议

    -p:将网卡设置为非混杂模式,不能与host或broadcast一起使用

    -r:指定从某个文件中读取数据包

    -S:指定打印每个监听到的数据包的TCP绝对序列号而非相对序列号



    OK,参数介绍先到这里,下面看几个具体例子


    tcpdump -i eth0 -s 1400 -nn host 192.168.0.250 and ! 192.168.0.74 and icmp -e

    抓取网口eth0上192.168.0.250与除192.168.0.74外的其他主机之间的icmp报文


    tcpdump -i eth0 -s 1400 -nn tcp and (host 192.168.0.250 and ! 192.168.0.74)

    抓取网口eth0上192.168.0.250与除192.168.0.74外的所有tcp数据包,这里用到了括号,注意,在tcpdump中使用括号时必须用转义。

    tcpdump -i eth0 ether src or dst 00:21:85:6C9:A3

    抓取网口eth0上源mac地址或目的mac地址为00:21:85:6C9:A3的所有数据包,注意,这里的mac地址格式必须以':'分隔。

  • 相关阅读:
    .net2.0 母板页面和自定义控件有冲突我的错
    ASP.NET程序中常用的三十三种代码
    sql server日期时间函数
    控制面板里的CPL
    [原创]ASP.NET MVC多域名多站点解析问题
    SQL获取字段html代码中的img标签图片文件的路径
    [原创]ASP.NET MVC控制器中动态解析用户控件
    EasyUI的treegrid组件动态加载数据问题解决办法
    ASP.NET MVC使用EasyUI的datagrid多选提交保存教程
    [原创]IE6下wbox弹出iframe窗口加载页面空白问题解决
  • 原文地址:https://www.cnblogs.com/tonykan/p/3515566.html
Copyright © 2020-2023  润新知