tcpdump工具使用
一.简单介绍
tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
二.使用语法
语法:
tcpdump (选项参数)
抓包选项:
-c <数据包数目>: 指定要抓取的包数量
-i <网卡接口>: 指定tcpdump需要监听的接口,默认会抓取第一个网络接口;
-n: 对地址以数字方式显示,否则显示为主机名,也就是说-n选项不做主机名解析;
-nn: 除了-n的作用外,还把端口显示为数值,否则显示端口服务名;
-P: 指定要抓取的包是流入还是流出的包,可以给定的值为"in"、"out"和"inout",默认为"inout";
-s <数据包长度>: 设置tcpdump的数据包抓取长度为len,如果不设置默认为65535字节。对于要抓取的数据包较大时,长度设置不够可能会产生包截断。
输出选项:
-e: 输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
-q: 快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
-X: 输出包的头部数据,会以16进制和ASCII两种方式同时输出。
-XX: 输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
-v: 当分析和打印的时候,产生详细的输出。
-vv: 产生比-v更详细的输出。
-vvv: 产生比-vv更详细的输出
其它功能选项:
-D: 列出可用于抓包的接口,将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
-F: 从文件中读取抓包的表达式,若使用该选项,则命令行中给定的其它表达式都将失效。
-w: 将抓包数据输出到文件中而不是标准输出,这里可以同时配合"-G time"选项使得输出文件每time秒就自动切换到另一个文件。可通过"-r"选项载入这些文件以进行分析和打印。
-r: 从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。
三.具体使用示例
3.1 默认启动
tcpdump
默认情况下,直接启动tcpdump将监视第一个网络接口(非lo口)上所有流通的数据包,这样抓取的结果会非常多,滚动非常快。
3.2 监视指定网口的数据包
tcpdump -i em2
3.3 监视指定主机的数据包
例如这里监视所有进入或离开node1的数据包:
tcpdump -i em2 host node1
3.4 打印node1和node2或者node1和node3之间通信的数据包
tcmdump -i em2 host node1 and node2
tcmdump -i em2 host node1 and node3
3.5 打印node1和其它所有(不包含node4)主机之间通信的IP数据包
tcpdump -i em2 host node1 and not node4
3.6 截获主机node1发送的所有数据
tcpdump -i em2 src host node1
3.7 监视所有发送到主机node1的数据包
tcpdump -i em2 dst host node1
3.8 监视指定主机和端口的数据包
tcpdump -i em2 port 22 and host node1
3.9 监视指定网络的数据包
例如这里监视本机与192.168网段通信的数据包,"-c 10"表示只抓取10个包
tcpdump -i em2 -c 10 net 192.168
3.10 抓取ping包
tcpdump -c 5 -nn -i ens33
3.11 抓取到本机22端口的包
tcpdump -c 10 -nn -i em2 tcp dst port 22
3.12 解析包的数据
tcpdump -c 2 -q -XX -vvv -nn -i em2 tcp dst port 22
参考链接:https://www.jianshu.com/p/d9162722f189
tcpdump工具使用的更多相关文章
- Ubuntu使用tcpdump工具
Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装. (如果遇到tcpdump: no suitable devi ...
- tcpdump工具使用说明
tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 注意,tcpdump只能抓取流经本机的数据包,不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将 ...
- 举例讲解Linux中tcpdump工具的应用
先来看一个比较基本的用法: tcpdump -i eth0 其中,eth0为参数值,表示需要抓包的网口,这是个必需参数哦. tcpdump的具体参数及意义: -i:指定tcpdump监听的网络接口 - ...
- tcpdump工具抓到的cap文件
一.链路层 ---> 以太网数据包 一个数据包被称为一帧, 制定这个规则的协议就是以太网协议.一个完整的以太网数据包如下图所示: 整个数据帧由首部.数据和尾部三部分组成,首部固定为14个字节 ...
- 运维工程师必会工具(Nmap和TCPdump)
1.NMap工具 主要功能:探测主机是否在线.扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描. NMap支持很多扫描技术,例如:UDP.TCPconnect().TCPSYN(半开扫描).ft ...
- 抓包工具tcpdump用法说明--2
第一招: 通俗的说,tcpdump是一个抓包工具,用于抓取互联网上传输的数据包.形象的说,tcpdump就好比是国家海关,驻扎在出入境的咽喉要道,凡是要入境和出境的集装箱,海关人员总要打开箱子,看看里 ...
- ADB工具和手机抓包方法介绍
Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...
- #linux包之tcpdump之tcpdump命令
概述 man tcpdump 已阅 yum install tcpdump Downloading Packages:(1/2): libpcap-1.4.0-1.20130826git2dbcaa1 ...
- 【转载】linux环境下tcpdump源代码分析
linux环境下tcpdump源代码分析 原文时间 2013-10-11 13:13:02 CSDN博客 原文链接 http://blog.csdn.net/han_dawei/article/d ...
- linux环境下tcpdump源代码分析
Linux 环境下tcpdump 源代码分析 韩大卫@吉林师范大学 tcpdump.c 是tcpdump 工具的main.c, 本文旨对tcpdump的框架有简单了解,只展示linux平台使用的一部分 ...
随机推荐
- 原生JS实现虚拟列表(不使用Vue,React等前端框架)
好家伙, 1. 什么是虚拟列表 虚拟列表(Virtual List)是一种优化长列表渲染性能的技术.当我们需要展示成千上万条数据时,如果一次性将所有数据渲染到DOM中,会导致页面卡顿甚至崩溃.虚拟 ...
- 关于普通程序员该如何参与AI学习的三个建议以及自己的实践
大部分程序员在学习大语言模型的时候都比较痛苦,感觉AI是如此之近又如此之远,仿佛能搞明白一点,又好像什么也没明白.就像我们在很远的地方看珠穆拉玛峰,感觉它就像一个不大的山包,感觉只要自己做足准备咬咬牙 ...
- 丢失的MD5-补全代码
题目是一段代码,直接运行会报错: import hashlib for i in range(32,127): for j in range(32,127): for k in range(32,12 ...
- HashMap 在高并发场景下可能出现的性能问题以及如何规避这些问题
JDK1.8 之前 HashMap 底层是 数组和链表, 之后在之前基础上加上红黑树. 相比于之前的版本, JDK1.8 之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转 ...
- 前端打包发布以及小程序发布(IIS下部署前端站点)
作为后端程序员 一直没有摸索过前端项目的打包发布,因为项目需要 这次经历一个 前端项目以及小程序的打包发布,记录一下. 一.前端部署 部署过程种一直出现node-sass 问题 https:/ ...
- 【uniapp】文本控件多余文字省略号代替
多余文字使用省略号效果 代码 .l-dd-content{ width: 100%; color: #8b8b8b; display: -webkit-box; /** 对象作为伸缩盒子模型显示 ** ...
- sql数据库连接
前言 作为数据存储的数据库,近年来发展飞快,在早期的程序自我存储到后面的独立出中间件服务,再到集群,不可谓不快了.早期的sql数据库一枝独秀,到后面的Nosql,还有azure安全,五花八门,教人学不 ...
- MySQL建立RFM模型
1.数据来源 charge_record表数据 提取代码如下: # coding=utf-8import pymysql# 原数据库链接db1 = pymysql.connect( host='*** ...
- Jmeter压测数据库总结
1.添加MySQL驱动 在测试计划里面添加,操作如下: MySQL驱动自行下载 2.添加线程组 选中测试计划,右键添加->线程(用户)->线程组,页面如下: 3.添加JDBC连接配置 选中 ...
- JVM 有那几种情况会产生 OOM(内存溢出)?
JVM 有哪些情况会产生 OOM(内存溢出)? JVM 的内存溢出(OutOfMemoryError, OOM)是指程序在运行过程中,JVM 无法从操作系统申请到足够的内存,导致程序抛出内存溢出异常. ...