Linux tcpdump命令使用方法

时间:2022-12-28 19:35:58

tcpdump是Linux上常用的抓包命令,用于截取网络分组并输出分组内容,常用于网络问题分析和排查。tcpdump工具经常用于分析定位问题,比如多服务器间的消息发送、接收码流分析,界定消息发送、接收情况。消息发送时延等。

tcpdump语法

tcpdump [-i 接口] [-nn] [-w 文件名] [-c 次数] [-Ae][-qX] [过滤条件]

-i 指定监听的网络接口。默认为eth0。-i any 表示抓取所有抓取所有网络接口的包。
-A 以ASCII格式打印出所有分组,并将链路层的头最小化。
-c 在收到指定的数量的分组后,tcpdump就会停止。如果没有这个参数,tcpdump会持续不断的监听,直到用户输入ctrl+c为止。
-n 不把网络地址转换成名字。
-nn 直接以IP及端口号显示,而不是主机名与服务名
-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
-vv 输出详细的报文信息。
-w 抓包结果写入文件
-r 读取抓包结果。文件为-w所生成

tcpdump命令带上指定参数可以更精确的获取需要的信息,避免截取过多的无用信息。以上是个人常用参数,还有很多参数自己不常使用所以不一一列出。

tcpdump常用实例

(1)获取主机192.168.0.0和主机192.168.0.1的所有分组

tcpdump -i eth1 -A -nn -s  -w catch.cap host 192.168.0.0 and host 192.168.0.1

(2)获取主机192.168.0.0和主机192.168.0.1或192.168.0.2的所有分组

tcpdump -i eth1 -A -nn -s  -w catch.cap host 192.168.0.0 and host 192.168.0.1 or 192.168.0.2

(3)获取主机192.168.0.0、端口号为10005和主机192.168.0.1的所有分组

tcpdump -i eth1 -A -nn -s  -w catch.cap port  host 192.168.0.0 and host 192.168.0.1

(4)获取发送给目标主机为192.168.0.1的所有分组

tcpdump -i any dst 192.168.0.1

(5)获取本机端口为7776所有接收和发送的分组

tcpdump -i any -n src port 

tcpdump数据包分析

tcpdump抓取的数据包通常是借助wireshark工具进行分析。Wireshark工具的分析方法可以参考<wireshark抓包新手使用教程>。将tcudump生成的catch.cap包导入到wireshark即可。wireshark常用过滤命令如下:

#ip地址过滤

ip.addr ==

ip.src ==

ip.dst ==

#tcp/udp端口过滤

tcp.port ==

udp.port ==

#contains关键字用法

tcp contains youku

udp contains youku

http contains ok00

#协议过滤

dns and http

dns or http

arp or icmp

sip and rtp

#http包的过滤

http.request.method== POST

http.request.method== GET

http.response.code ==

#packet lost如何查看

tcp.analysis.flags tcp.flags.syn ==

#tcp包的syn字段为1

tco.flags.reset ==

#过滤掉不需要的包,感叹号的用法

!(arp or dns or icmp)

参考资料

1、http://blog.csdn.net/s_k_yliu/article/details/6665673/

2、http://www.itshouce.com.cn/linux/linux-tcpdump.html

3、https://segmentfault.com/a/1190000009320118

Linux tcpdump命令使用方法的更多相关文章

  1. Linux 常用命令使用方法大搜刮

    Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入 ...

  2. Linux tcpdump 命令详解与示例

    命令概要 Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的.TcpDump 是 Linux 中强大的网络数据采集分析工具之一. 用简单的话来定义tcpdump,就是:du ...

  3. 【转】linux tail命令使用方法详解

    原文网址:http://www.111cn.net/sys/linux/46902.htm linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,通俗讲来,就是把某个 ...

  4. Linux tcpdump命令具体解释

    简单介绍 用简单的话来定义tcpdump,就是:dump the traffic on a network,依据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump能够将网络中传送的数据 ...

  5. linux常用命令使用方法

    一.常用的分析服务器日志命令 1.查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数: grep "/ ...

  6. Linux tcpdump命令详解

    tcpdump官网:http://www.tcpdump.org/ 转载于:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.ht ...

  7. Linux tcpdump 命令详解

    简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的& ...

  8. Linux 常用命令使用方法大搜刮&lpar;转&rpar;

    1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.  退出当前shel ...

  9. Linux核心命令使用方法

    一.Linux命令行常用快捷键 ctrl + c cancel 取消当前的操作 ctrl + l (小写字母L) clear(命令)清空当前屏幕 ctrl + d 退出当前用户 ctrl + r 查找 ...

随机推荐

  1. php启动时候提示PHP startup的解决方法

    最近在学习php,配置好php环境后,每次开机都有警告提示说 PHP startup.如下图: 显然这是个小问题,是关于php配置的. 解决这个问题很简单只需要在php.ini 文件中修改 exten ...

  2. day2--计算机基础

    一.服务器 1u服务器,1u=4.45cm 戴尔服务器种类: 电脑主机组成 主板.CPU.内存.硬盘.显卡.声卡等等. 运维关注三大部件:CPU.内存.硬盘(Disk) 电源,考虑使用双电服务器,电源 ...

  3. linux c语言 select函数用法

    linux c语言 select函数用法 表头文件 #i nclude<sys/time.h> #i nclude<sys/types.h> #i nclude<unis ...

  4. Mybatis之mapper&period;xml配置文件中的&num;&lbrace;&rcub;和&dollar;&lbrace;&rcub;

    #{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换.#{}可以有效防止sql注入. #{}可以接收简单类型值或pojo ...

  5. IDEA中使用&period;ignore插件忽略不必要提交的文件

    使用的IDE是IntelliJ IDEA,发现IDEA在提交项目到本地仓库的时候,会把.idea文件夹中的内容也提交上去,这里面放的是一些项目的配置信息,包括历史记录,版本控制信息等.可以不传到Git ...

  6. 数据科学的完整学习路径—Python版&lpar;转载&rpar;

    时间 2015-01-29 14:14:11  数盟原文  http://dataunion.org/?p=9805 译者: Allen 从Python菜鸟到Python Kaggler的旅程(译注: ...

  7. ASP&period;NET Core 2&period;0 MVC 发布部署--------- Ubuntun 16&period;04 X64 具体操作

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  8. js 旋转控件 jQueryRotate

    插代码 .. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  9. springboot&lpar;七&rpar;:springboot&plus;mybatis多数据源最简解决方案

    说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解 ...

  10. dib build ipa image Injection password

    针对dib制作的deploy image,注入密码有两种方式: devuser/dynamic-login .对应 dib 添加密码,是通过 dynamic-login element 来完成的. 首 ...