• tcpdump网络包分析工具使用


    Debian9 安装 tcpdump 工具

    apt-get install tcpdump

    使用

    不指定任何参数,默认监听第一块网卡上经过的数据包

    tcpdump

    监听指定网卡经过的数据包

    tcpdump -i ens33

    监听所有网卡经过的数据包

    tcpdump -i any

    监听指定的主机

    例子:监听本机跟主机 192.168.3.1 之间往来的通信包。

    备注:出、入的包都会被监听。

    tcpdump host 192.168.3.1

    指定来源、目标地址的通信

    指定来源

    tcpdump src host hostname

    指定目标地址

    tcpdump dst host hostname

    如果不指定src跟dst,那么来源或者目标是 hostname 的通信都会被监听

    tcpdump host hostname

    监听指定的端口或者端口范围

    tcpdump port 80
    tcpdump portrange 22-125

    监听 TCP/UDP

    OSI七层网络模型传输层有TCP、UDP两种协议,假如只想监听TCP协议的数据包

    tcpdump tcp

    来源主机+端口+TCP

    监听来自主机 192.168.3.1 在端口22上的TCP数据包

    tcpdump tcp port 22 and src host 192.168.3.1

    监听特定主机之间的通信

    tcpdump ip host 192.168.3.1 and 192.168.3.129

    192.168.3.1 除了和 192.168.3.129 之外的主机之间的通信

    tcpdump ip host 192.168.3.1 and ! 192.168.3.129

    稍微详细点的例子

    tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.3.0/24 -w ./target.cap

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

    从使用 -w 选项写入的 ./target.cap 文件中读取内容

    tcpdump -r ./target.cap

    限制抓包的数量

    如下,抓到1000个包后,自动退出

    tcpdump -c 1000

    保存到本地

    备注:tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘

    tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap

    也可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)

    src 和 dst 选项连用来捕获指定源端口或指定目的端口的报文

    使用“与”(and,&&)、“或”(or,|| ) 和“非”(not,!)来将两个条件组合起来,基于某些条件来分析网络报文是非常有用

    使用 and 或者符号 && 来将两个或多个条件组合起来

    tcpdump src 192.168.3.1 and port 22

    “或”会检查是否匹配命令所列条件中的其中一条

    tcpdump src 192.168.3.1 or dst 192.168.3.130 && port 22
    tcpdump port 443 or 80

    不想匹配某项条件时可以使用“非”

    监听 ens33 网卡上除了 22 号端口的所有通讯

    tcpdump -i ens33 src port not 22

    本文参考自:

    (1)https://www.cnblogs.com/chyingp/p/linux-command-tcpdump.html

    (2)https://linux.cn/article-9210-1.html

  • 相关阅读:
    HTML&&CSS
    web概述&HTML快速入门
    JDBC连接池&JDBCTemplate
    基于Breast Cancer dataset的决策树分类及可视化
    三维数组按行优先存储求某位置的地址
    2019年复旦计算机专硕考研经验总结
    1013 Battle Over Cities (25 分)
    1009 Product of Polynomials (25 分)
    1004 Counting Leaves (30 分)
    1090 危险品装箱 (25 分)
  • 原文地址:https://www.cnblogs.com/opsprobe/p/14460587.html
Copyright © 2020-2023  润新知