首页 > 系统相关 >Linux命令:tcpdump - 网络分析

Linux命令:tcpdump - 网络分析

时间:2024-03-26 11:47:26浏览次数:29  
标签:ni 数据包 抓取 192.168 网络分析 Linux tcpdump eth0

tcpdump是一个功能强大的命令行网络协议分析器。

主要功能:

  • 数据包捕获(抓包)
  • 数据包过滤
  • 数据分析
  • 网络故障排除和诊断

常用选项

  • -i:指定要监听的网络接口
  • -D:列出可用于抓包的接口
  • -s:设置抓取的数据包长度,超过这个长度的部分会被截断
  • -c:指定要抓取的数据包的数量
  • -w:将抓包数据保存在文件中,通常是.pcap格式
  • -r:从指定的文件中读取并显示数据包
  • -C:指定文件大小,与 -w 配合使用
  • -F:从文件中读取抓包的表达式
  • -n:不进行DNS解析,直接显示IP地址而非主机名
  • -nn:除了不解析主机名外,也不解析端口名称,直接显示端口号。
  • -p:不让内核修改网络接口的状态(例如改变混杂模式或监控模式),以防止影响正常网络流量。
  • -P:指定要抓取的包是流入还是流出的包,可以指定的值 inoutinout
  • -e:输出信息中包含数据链路层头部信息
  • -t:显示时间戳,tttt 显示更详细的时间
  • -X:显示十六进制格式
  • -B:设置内核缓冲区大小
  • -tt:在打印时间戳时,以绝对时间而非相对时间显示。
  • -v-vv-vvv:详细程度递增,提供更详尽的数据包信息。

基本用法

  1. 安装tcpdump命令
yum install tcpdump -y
  1. 抓取eth0网卡上的所有数据包 -i
tcpdump -i eth0
  1. 抓包时不解析主机和端口名 -n
tcpdump -n -i eth0
  1. 抓取指定主机的所有数据表 host
tcpdump -ni eth0 host 192.168.1.112
  1. 抓取指定主机发送的数据包 src host
tcpdump -ni eth0 src host 192.168.1.112
  1. 抓取发送给192.168.1.112 dst src
tcpdump -ni eth0 dst host 192.168.1.112
  1. 抓取指定数量的包 -c
tcpdump -i eth0 -c 10
  1. 指定端口 dst port
tcpdump -ni eth0 dst port 22
  1. 抓取arp数据包
tcpdump -ni eth0 arp
  1. 使用十六进制输出
tcpdump -ni eth0 -c 1 arp -x
  1. 只抓取IPv6流量
tcpdump -ni eth0 ip6
  1. 抓取指定网段的流量 net
tcpdump -ni eth0 net 192.168.1.0/24
  1. 抓取指定端口范围的流量 portrange
tcpdump -ni eth0 portrange 80-9000

进阶用法

  1. 抓取指定客户端访问ssh的数据包
tcpdump -ni eth0 src 192.168.1.112 dst port 22
  1. 抓取从某个网段来,到某个网段去的流量
tcpdump -ni eth0 src net 192.168.1.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16
  1. 抓取来自某个主机,发往非ssh端口的流量
tcpdump -ni eth0 src 192.168.1.112 and not dst port 22
  1. 基于包大小进行删选
# 大小小于64字节
tcpdump -ni eth0 less 64

# 大小等于64字节
tcpdump -ni eth0 length == 64

# 大小大于64字节
tcpdump -ni eth0 greater 64
  1. 过滤TCP特殊标记的数据包
# 抓取某主机发送的RST数据包
tcpdump -ni eth0 src host 192.168.1.112 and 'tcp[tcpflags] & (tcp-rst) != 0'

# 抓取某主机发送的SYN数据包
tcpdump -ni eth0 src host 192.168.1.112 and 'tcp[tcpflags] & (tcp-syn) != 0'

# 抓取某主机发送的FIN数据包
tcpdump -ni eth0 src host 192.168.1.112 and 'tcp[tcpflags] & (tcp-fin) != 0'

# 抓取 TCP 连接中的 SYN 或 FIN 包
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0'
  1. 抓取所有非ping类型的ICMP包
tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'


Linux命令系列:

标签:ni,数据包,抓取,192.168,网络分析,Linux,tcpdump,eth0
From: https://www.cnblogs.com/CharrammaBlog/p/18096273

相关文章

  • Linux用户及用户组管理
    用户:UID(userid)多用户多任务:用户组:GID(groupid)用户创建用户的分类:管理员:root  0     655350普通用户:1-65535        系统用户:1-999(Centos7)1-499        登录用户:1000500     ......
  • Linux常用命令
    Linux常用命令介绍Linux系统中有很多命令,以下是一些常用的Linux命令列表:1、文件和目录操作命令:●ls:列出目录内容●cd:切换目录●pwd:显示当前工作目录●mkdir:创建新目录●rm:删除文件或目录●cp:复制文件或目录●mv:移动文件或目录●touch:创建......
  • 工作中总结的30个常用Linux指令,实在记不住就别硬记了,看这篇就够了
    写在开头最近发现自己记忆力严重下滑,很多sql命令,linux命令都记不住,特别是linux命令,很多命令参数很多,一段时间不用,再去使用就需要从网上重查了,很烦人,为此花了一些时间把之前笔记中的Linux命令给整理了一下,汇总出30个常用的分享出来,下次再想不起来直接看这篇文章就行了。1、Linux......
  • linux终端编译单文件与多文件
    .c单文件:rani@DocR:~/Downloads$mkdirtestrani@DocR:~/Downloads$cdtestrani@DocR:~/Downloads/test$vimhello.crani@DocR:~/Downloads/test$gcchello.c-ohellorani@DocR:~/Downloads/test$./helloHelloworld.cpp单文件rani@DocR:~/Downloads/test$vimprin......
  • Red Hat Enterprise Linux Server 7.9 扩展目录空间实践
    原磁盘总空间100GB,新加一块100GB硬盘扩展到/目录。一、收集待扩展磁盘目录信息lsblk    检查磁盘信息df-TH   检查磁盘目录root@localhost~]#lsblkNAME         MAJ:MINRM SIZEROTYPEMOUNTPOINTsda            8:0   0 1......
  • Linux - 第二节知识点
    无论是什么重定向,如果要写入的文件不存在,它会先创建一个3cat-n文件名会对输出结果所有行进行编号 cat-b 文件名会对输出结果非空行进行编号 cat-s文件名不输出多行空行,当有多行空行时,就会被压缩成一行空行more-行数文件名按照要求看多少行都可以less-行......
  • Linux - 第一节知识点
    一.ls指令ls显示当前目录下所有的文件列表alt+enter:让xshell自动全屏和取消全屏ls-a显示隐藏文件pwd显示当前命令行在进行操作时所处的目录在哪mkdir建立文件夹mkdir-p文件名/文件名一次可以建立多个目录redir文件名删除空目录rm文件名删除文件,不能删......
  • Linux常见问题
    Linux常见问题一、linux网络错误ping:www.baidu.com:未知的名称或服务原因分析,linuxping不通原因1、可能是网络配置文件设置错误检查网络配置文件:vim/etc/sysconfig/network-scripts/ifcfg-ens33仔细检查红框中的信息解释ONBOOT=yes#设置开机启动网络,这样就不需......
  • Linux开发:dup, dup2, dup3
    Linux开发:open打开文件-CSDN博客Linux开发:多进程通过open同时读取文件-CSDN博客介绍了打开一个文件会获得一个文件描述符,该文件描述符指向内核中打开文件的描述表的一个位置,而该位置记录了当前打开文件的一些信息dup系列api的主要用途是为指定的文件描述符复制/指定一个新......
  • Arch Linux 安装手记
    背景今天尝试安装龙芯版Linux,本来希望能安装Debian版,但只找到一些文档,没找到可安装版的ISO。后来顺着这篇文章找到了ArchLinux,就尝试安装了一下。安装后发现竟然不会配置网络......