tcpdump命令

2023-05-16

tcpdump

tcpdump命令介绍

tcpdump,用简单的语言概括就是dump the traffic on a network,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具,windows平台有sniffer等工具,tcpdump可以将网络中传输的数据包的“包头”全部捕获过来进程分析,其支持网络层、特定的传输协议、数据发送和接收的主机、网卡和端口的过滤,并提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息。

tcpdump命令选项

◇ -a #将网络地址和广播地址转变成名字

◇ -A #以ASCII格式打印出所有分组,并将链路层的头最小化

◇ -b #数据链路层上选择协议,包括ip/arp/rarp/ipx都在这一层

◇ -c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump

◇ -d #将匹配信息包的代码以人们能够理解的汇编格式输出

◇ -dd #将匹配信息包的代码以c语言程序段的格式输出

◇ -ddd #将匹配信息包的代码以十进制的形式输出

◇ -D #打印系统中所有可以监控的网络接口

◇ -e #在输出行打印出数据链路层的头部信息

◇ -f #将外部的Internet地址以数字的形式打印出来,即不显示主机名

◇ -F #从指定的文件中读取表达式,忽略其他的表达式

◇ -i #指定监听网络接口

◇ -l #使标准输出变为缓冲形式,可以数据导出到文件

◇ -L #列出网络接口已知的数据链路

◇ -n #不把网络地址转换为名字

◇ -N 不输出主机名中的域名部分,例如www.baidu.com只输出www

◇ -nn #不进行端口名称的转换

◇ -P #不将网络接口设置为混杂模式

◇ -q #快速输出,即只输出较少的协议信息

◇ -r #从指定的文件中读取数据,一般是-w保存的文件

◇ -w #将捕获到的信息保存到文件中,且不分析和打印在屏幕

◇ -s #从每个组中读取在开始的snaplen个字节,而不是默认的68个字节

◇ -S #将tcp的序列号以绝对值形式输出,而不是相对值

◇ -T #将监听到的包直接解析为指定的类型的报文,常见的类型有rpc(远程过程调用)和snmp(简单网络管理协议)

◇ -t #在输出的每一行不打印时间戳

◇ -tt #在每一行中输出非格式化的时间戳

◇ -ttt #输出本行和前面以后之间的时间差

◇ -tttt #在每一行中输出data处理的默认格式的时间戳

◇ -u #输出未解码的NFS句柄

◇ -v #输出稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息

◇ -vv#输出相信的保报文信息

tcpdump的表达式

◇ 表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包 将会被截获,在表达式中一般如下几种类型的关键字:

a):关于数据类型的关键字:

  • 包括host、port、net,例如host 192.168.38.7表示这是一台主机,net 192.168.38.0表示这是一个网络地址,port 22指明端口号是22,如果没有指明类型,则默认的类型是host。

b):数据传输方向的关键字:

  • 包括src、dst、dst or src、dst and src,这些关键字指明了传输的方向,比如src 192.168.38.7说明数据包源地址是192.168.38.7,dst net 192.168.38.0指明目的网络地址是192.168.38.0,默认是监控主机对主机的src和dst,即默认监听本机和目标主机的所有数据。

c):协议关键字:

  • 包括ip、arp、rarp、tcp、udp、icmp等,

d):其他关键字:

  • 运算类型的:or、and、not、!
  • 辅助功能型的:gateway、less、broadcast、greater

tcpdump用法

◇ tcpdump [协议类型] [源或目标] [主机名称或IP] [or/and/not/!条件组合] [源或目标] [主机名或IP] [or/and/not/!条件组合] [端口] [端口号] …… [or/and/not/!条件组合] [条件]

◇ 用法示例:

①tcpdump 默认捕获方式

  • 默认监听在第一块网卡(eth0)上,监听所有经过此网卡通过的数据包
[root@centos7-17 ~]# tcpdump
10:04:48.841265 IP centos7-17.ssh > 192.168.38.1.netop-rc: Flags [P.], seq 322664:322976, ack 53, win 254, length 312
10:04:48.841538 IP 192.168.38.1.netop-rc > centos7-17.ssh: Flags [.], ack 322976, win 217, length 0

②tcpdump -i eth1

  • 听指定网卡eth1的所有传输数据包:
[root@centos7-17 ~]# tcpdump -i eth1

③tcpdump -i eth0 host 192.168.38.57

  • 捕获主机192.168.56.1经过本机网卡eth0的所有数据包(也可以是主机名,但要求可以解析出来IP地址)
[root@centos7-17 ~]# tcpdump -i eth0 host 192.168.38.57
10:08:33.694975 IP 192.168.38.1.globe > 192.168.38.57.ssh: Flags [P.], seq 2533623824:2533623876, ack 3477726843, win 256, length 52
10:08:33.694992 IP 192.168.38.57.ssh > 192.168.38.1.globe: Flags [.], ack 52, win 1013, length 0
....
10:08:34.948957 IP 192.168.38.57 > centos7-17: ICMP echo request, id 6842, seq 2, length 64
10:08:34.948994 IP centos7-17 > 192.168.38.57: ICMP echo reply, id 6842, seq 2, length 64
  • centos7-17 -nn(不进行端口名称转换) 选项可以将本机的hostname改为ip

④tcpdump ip host node9 and not www.baidu.com

  • 捕获主机node9与其他主机之间(不包括www.baidu.com)通信的ip数据包

⑤tcpdump host 192.168.38.57 and \( 192.168.38.210 or 192.168.38.211 \)

  • 捕获主机 192.168.38.57 和主机192.168.38.210或192.168.38.211的所有通信数据包

⑥tcpdump tcp port 22 and host 192.168.38.210

  • 捕获主机192.168.38.210接收和发出的tcp协议的ssh的数据包:

⑦ tcpdump udp port 53

  • 监听本机udp的53端口的数据包,udp是dns协议的端口,这也是一个dns域名解析的完整过程

⑧tcpdump -nn icmp -i eth0

  • 抓取eth0经过的icmp协议的数据包
tcpdump: 'icmp' modifier applied to host 
    ==>icmp修饰符应用于主机

[root@centos7-17 ~]# tcpdump -i eth0 -nn icmp and src 192.168.38.17
    抓取eth0网卡icmp协议,源地址是 192.168.38.17数据报文

⑨tcpdump ip host centos7-17 -nn -i eth0

  • 抓取centos7-17通过eth0网卡与其他主机通信的ip数据包

⑩tcpdump -i eth0 -nn arp

  • 抓取arp协议数据报文 网卡是eth0
[root@centos7-17 ~]# tcpdump -i eth0 -nn arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:34:45.042336 ARP, Request who-has 192.168.38.57 (00:0c:29:47:83:75) tell 192.168.38.1, length 46
10:34:45.042675 ARP, Reply 192.168.38.57 is-at 00:0c:29:47:83:75, length 46
10:34:46.135686 ARP, Request who-has 192.168.38.57 tell 192.168.38.17, length 28
10:34:46.136710 ARP, Request who-has 192.168.38.17 tell 192.168.38.57, length 46
10:34:46.136726 ARP, Reply 192.168.38.17 is-at 00:0c:29:c0:a0:4d, length 28
10:34:46.136922 ARP, Reply 192.168.38.57 is-at 00:0c:29:47:83:75, length 46
  • 结合arp命令主机之间的通信
[root@centos7-17 ~]# arp -h arp命令用法帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tcpdump命令 的相关文章

  • 渗透测试工具学习笔记(4)——tcpdump

    no GUI的抓包分析工具 Linux Unix系统默认安装 说是这么说但是manjaro下没有 xff0c pacman一下即可 抓包 xff1a 默认只抓68个字节 i interface s snaplen 大小 w file tcp
  • tcpdump抓包分析TCP三次握手过程

    转 xff1a http hi baidu com xxjjyy2008 blog item e6566bf837d91903d9f9fdd0 html 一 tcpdump使用 1 首先看下MAN手册 TCPDUMP 8 NAME tcpd
  • Linux服务器下抓包工具tcpdump分析

    概述 说到抓包分析 xff0c 最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了 xff0c 但是有时候由于接口调用无法在客户端抓包 xff0c 只能在服务器上抓包 xff0c 这种情况下怎么办呢 xff1f 本
  • tcpdump抓包命令

    该命令是抓包分析工具 xff0c 可以将数据包的头或者是整个包抓取下来进行分析 xff0c 支持针对特定协议 主机进行过滤 xff0c 同时支持逻辑操作 抓取本机第一个网络接口通常是eth0上所有的包 tcpdump 抓取指定指定网卡上的的
  • tcpdump 显示数据_tcpdump抓包命令详解

    tcpdump AdDefIKlLnNOpqRStuUvxX B buffer size c 计数 C file size G rotate seconds F 文件 i 界面 m 模块 M 秘密 r 文件 s snaplen T 类型 w
  • linux 下 tcpdump详解 后篇(自己实现抓包过滤)

    一 概述 在了解了tcpdump的原理后 xff0c 你有没有想过自己去实现抓包过滤 xff1f 可能你脑子里有个大概的思路 xff0c 但是知道了理论知识 xff0c 其实并不能代表你完全的理解 只要运用后 xff0c 你才知道哪些点需要
  • 肝了三天,整了一份全网最全(中文) tcpdump 抓包指南

    今天要给大家介绍的一个 Unix 下的一个 网络数据采集分析工具 xff0c 也就是我们常说的抓包工具 与它功能类似的工具有 wireshark xff0c 不同的是 xff0c wireshark 有图形化界面 xff0c 而 tcpdu
  • linux 下 tcpdump 详解 后篇(自己实现抓包过滤)

    一 概述 在了解了tcpdump的原理后 xff0c 你有没有想过自己去实现抓包过滤 xff1f 可能你脑子里有个大概的思路 xff0c 但是知道了理论知识 xff0c 其实并不能代表你完全的理解 只要运用后 xff0c 你才知道哪些点需要
  • tcpdump 抓包命令及使用

    1 抓取所有接收 发送UDP消息 不确定需求时 最好any端口 tcpdump i any udp s 0 w any pcap 2 当抓包数量太大时建议分段 C 100MB 会产生大约100MB的分段且连续的包 tcpdump i any
  • 多网卡的情况下收udp组播数据的坑

    多网卡的情况下收udp组播收不到 有可能是如下原因造成 https www cnblogs com xiaouisme p 12658554 html
  • 路由器抓包工具TCPDUMP使用方式

    一 概述 tcpdump 用简单的语言概括就是dump the traffic on a network 是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具 windows平台有sniffer等工具 tcpd
  • HTTPS】HTTPS过程详解,tcpdump抓包 全过程分析

    RFC中的HTTPS交互过程如下 抓包分析 Client Hello 客户端支持的TLS最高版本号 客户端生成的随机数 客户端支持的加密套件 主机名server name cipher suite怎么理解 名字为 ECDH ECDSA AE
  • tcpdump抓包对性能的影响

    一直以来 提到这个话题 大家更多的关注的是tcpdump抓包本身的性能 比如能不能应付几十万的pps 能否在万兆网络上自运自如 我们现在知道 这些问题的答案都是否定的 即 不能 因此你应该去关注netmap高性能抓包方案以及DPDK这样的东
  • 子流程变量[重复]

    这个问题在这里已经有答案了 1 import subprocess 2 raw raw input Filename lower 3 ip raw input Host lower 4 cmd subprocess call tcpdump
  • 客户端向服务器发送延迟的 FIN ACK(约 500 毫秒)

    我有一个 node js 客户端 10 177 62 7 请求来自服务器 10 177 0 1 的 http Rest 服务的一些数据 客户端只需使用node js http request 方法 agent false 客户端位于 Ubu
  • 使用Java解析从wireshark文件中获取的pcap

    我正在努力使用 JAVA 转换从wireshark 获取的 PCAP 文件 而不使用本机或现成的库 我直接将字节转换为字符串只是为了检查其中有意义的部分 然后我尝试将其从十六进制转换为字符串 这没有意义 有java库jNetPcap htt
  • tcpdump抓包

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • 如何让 tcpdump 写入文件并标准输出适当的数据? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我希望有tcpdump将原始数据包数据写入文件中 并在捕获数据包时将数据包分析显示到标准输出中 通过分析 我的意思是它通常显示的行 w
  • 监控 Android 手机中的网络活动

    我想监控我的 Android 手机的网络流量 我正在考虑在 Android 上使用 tcpdump 但我不确定是否必须为手机进行交叉编译 另一个问题是 如果我想监控某个应用程序的流量数据 有什么命令可以做到这一点吗 TCPDUMP 是我最喜
  • 可以为 iPhone/armv6 编译 libpcap 吗?

    尝试编译一个使用 pcap h 的基本程序 我已经在我的 Mac OSX 机器上设置了环境 该机器使用适用于 iPhone 3GS 的 iPhone 3 1 3 SDK 我还将 libpcap 安装到 libpcap 这样我就可以使用 I

随机推荐

  • 为什么.h文件中只能申明不能定义全局变量

    最近使用keil编写下位机单片机程序 xff0c 打算进行模块化的设计 xff0c 遇到了在 h文件中定义全局变量报错的问题 原因 因为C语言的include是直接将文件嵌入到include这个地方的 如果多次包含这个头文件 xff0c 就
  • 跨系统传递 traceId(日志)

    34 新项目查日志太麻烦 xff0c 多台机器之间查来查去 xff0c 还不知道是不是同一个请求的 打印日志时使用 MDC 在日志上添加一个 traceId xff0c 那这个 traceId 如何跨系统传递呢 xff1f 34 1 背景
  • ThreadLocal 适合用在哪些实际生产的场景中?

    在通常的业务开发中 xff0c ThreadLocal有两种典型的使用场景 场景1 xff0c ThreadLocal 用作保存每个线程独享的对象 xff0c 为每个线程都创建一个副本 xff0c 这样每个线程都可以修改自己所拥有的副本 而
  • SpringCloud 分布式事务组件之Seata

    目录 背景介绍什么是分布式事务什么叫做逆向补偿呢互联网最流行的分布式事务组件seata总结 背景 大家好 xff0c 今天给大家分享一个在2022年出去面试Java几乎必问的一个技术 xff0c 那就是seata 什么 xff1f xff1
  • 接口优化方案

    1 批量思想 xff1a 批量操作数据库 优化前 xff1a for循环单笔入库 for TransDetail detail transDetailList insert detail 优化后 xff1a batchInsert tran
  • springboot前端传一个对象后台怎么接受

    34 courseId 34 3 34 userId 34 34 1234456676 34 34 list 34 34 id 34 34 1 34 34 answer 34 34 B 34 34 id 34 34 1 34 34 answ
  • 前端传一个数组或者集合后台怎么接受

    34 id 34 34 1 34 34 answer 34 34 A 34 34 id 34 34 1 34 34 answer 34 34 A 34 这样的可以直接用一个 64 RequesBody List lt QuestionBac
  • Java8处理List的双层循环

    Java处理List的双层循环程序员经常遇到 xff0c 一般都是当两个List某个值满足某条件时候 xff0c 进行相应的处理 xff1b 1 list和map之间的相互转换 两个List对象当id相同的时候 注意是两个对象 而非两个集合
  • java如何抛出异常

    1 什么时候抛出异常 如果你觉得某些 问题 解决不了了 xff0c 那么你就可以抛出异常了 比如 xff0c 你在写一个service 其中在写到某段代码处 你发现可能会产生问题 xff0c 那么就请抛出异常吧 xff0c 相信我 xff0
  • 发送短信验证码过于频繁问题的解决

    1 对请求的接口做了一个限流的控制 2 利用到 AOP redis 定时器 3 在请求的congtroller层上加相应的注解就可以 具体的Demo工程如下 package com weigu xiaochuang project impo
  • spring的controller是单例还是多例

    我们经常说单例还是多例 那么究竟他们不同的根源在哪 或者说我们应该从哪一方面具体的去理解了 至于这个问题 今天做一个小的探讨 其实我们最终说的是 64 auowired注解的引入的service或mapper是不是单例还是多例的 这个是这个
  • 多线程-批量获取多条线程的执行结果

    当向线程池提交callable任务后 xff0c 我们可能需要一次性获取所有返回结果 xff0c 有三种处理方法 方法一 xff1a 自己维护返回结果 创建一个线程池 ExecutorService executorService 61 E
  • nautilus命令介绍

    nautilus 图形化桌面包括了一个叫做 Nautilus 的文件管理器 在GNOME中是Nautilus 鹦鹉螺 xff0c 而KDE中是Konqueror
  • 写个strcat函数

    include 34 stdio h 34 include lt string h gt void stracat char a char b char temp 128 char p 61 temp int alen 61 strlen
  • linux 下 tcp client的 demo

    include lt stdio h gt include lt stdlib h gt include lt string h gt include lt unistd h gt include lt sys socket h gt in
  • 解决MATLAB2020B关于找不到vs2019C++编译器问题

    在配置matlab 深度学习环境过程中 xff0c 出现找不到vs219C 43 43 编译器 问题 xff0c 尝试了各种办法 xff0c 还是失败 xff0c 经过摸索和结合他人经验 xff0c 最终成功 xff0c 予以总结 xff0
  • Ubuntu下使用w3m命令行模式浏览网页

    w3m是一个基于文本的网页浏览器 xff0c 支持多种操作系统 xff0c 在命令行终端可以很好的支持中文 即使在没有鼠标支持的情况下也可以检查网页的输出 我们一般用Ubuntu的X Windows来看图形界面的东西 xff0c 有没有想过
  • CC3D飞控说明书/使用手册

    CC3D飞控说明书 使用手册openpilot librepilot CC硬件配置 记得点赞哦 xff01 xff01 xff01
  • 串口服务器的原理及使用方法

    串口服务器是将来自TCP IP协议的数据包 xff0c 解析为串口数据流 xff1b 反之 xff0c 也可以将串口数据流打成TCP IP协议的数据包 xff0c 从而实现数据的网络传输 它能多个串口设备连接并能将串口数据流进行选择和处理
  • tcpdump命令

    tcpdump tcpdump命令介绍 tcpdump xff0c 用简单的语言概括就是dump the traffic on a network xff0c 是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工