在Windows下一般使用WireShark 抓包软件,tcpdump 是 Linux 系统的抓包软件。它可以抓取 TCP/IP 协议族的数据包,支持针对网络层、协议、主机、端口的过滤,并提供 and、or、not 等逻辑语句来过滤无用的信息。

root@h # tcpdump -h
tcpdump version 4.9.2
libpcap version 1.8.1
OpenSSL 1.1.1 11 Sep 2018
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
[ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
[ -Z user ] [ expression ]

常用的命令列表:

1.查看当前可用的的网口列表

  tcpdump -D

2. 指定一个网口

  tcpdump -i enp0s3

3. 指定一个网口和网段

  tcpdump -i enp0s3 net 192.168.225

4. 指定监听报文,端口号,发送源,详细信息

  tcpdump -nn -i enp0s3 tcp and src 192.168.225.5 and port 54620 -vv

5. 查看报文的所有数据

  tcpdump -nn -i enp0s3 tcp and src 192.168.225.5 -e -XX -S -s 0 -vv

分析TCP报文:

07:18:19.872797 40:00:00:aa:00:60 > 3c:52:82:d7:1d:ef, ethertype IPv4 (0x0800), length 70: (tos 0x0, ttl 64, id 10141, offset 0, flags [DF], proto TCP (6), length 56)
192.168.225.5.49384 > 192.168.225.1.13411: Flags [P.], cksum 0x37c2 (correct), seq 402706124:402706140, ack 2009259232, win 229, length 16

        源IP地址                        目的IP地址

中括号表示 : [ IP 头]     + {TCP头} +{TCP}

0x0000: [  3c52 82d7 1def4000 00aa 0060 0800 4500          <R....@....`..E.

目的mac地址    源mac地址     报文类型 4:IPv4 5:IP头部长度

0x0010: 0038 279d ]  { 4000 4006 cfca c0a8 e105 c0a8          .8'.@.@.........

总报文长度0x38        0x6:TCP
0x0020: e101 c0e8 3463 1800 cecc 77c2 dce0 5018         ....4c....w...P.
0x0030: 00e5 37c2 0000 } 0201 0100 0000 0000 0000        ..7.............

               Data 开始的地方

0x0040: 0000 0000 0000

参考资料:

1、UDP头

0      7 8     15 16    23 24    31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
| |
| DATA ... |
+-----------------------------------+

2. TCP头

3. IP 头

tcpdump -nn -e -XX -S -s 0 -vv -w /free_emmc/file.pcap -i ravb0 udp and src 192.168.1.50

参考连接:

http://www.tcpdump.org/manpages/tcpdump.1.html

https://www.cnblogs.com/bakari/p/10748721.html

https://blog.csdn.net/qq_25453065/article/details/89786943

tcpdump 与 抓包分析的更多相关文章

  1. tcpdump+wireshark抓包分析

    上一篇文章中,我们介绍了tcpdump如何抓包. tcpdump是命令行下便捷的抓包和分析工具,但使用方式不够友好, wireshark是带图形化界面的抓包和分析工具,操作简便,但需要主机有显示器. ...

  2. Wireshark和TcpDump抓包分析心得

    Wireshark和 TcpDump抓包分析心得  1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Window ...

  3. TCP三次握手与Tcpdump抓包分析过程

    一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x (A向B发送连接请求报文段,A ...

  4. 转:tcpdump抓包分析(强烈推荐)

    转自:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666539134&idx=1&sn=5166f0aac71 ...

  5. Linux使用tcpdump命令抓包并使用wireshark分析

    Linux使用tcpdump命令抓包并使用wireshark分析 介绍 有时分析客户端和服务器网络交互的问题时,为了查找问题,需要分别在客户端和服务器上抓包,我们的客户端一般是windows上的,抓包 ...

  6. 转 Wireshark和TcpDump抓包分析心得

    1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具,支持Windows平台和Unix平台,我一般只在Windows平台下使用Wireshark,如果是Linux的话 ...

  7. Tcpdump命令抓包详细分析

    1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况.这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了.在排查问 ...

  8. 聊聊tcpdump与Wireshark抓包分析

    1 起因# 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况.这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了.在排查 ...

  9. tcpdump安装配置及抓包分析

    http://blog.csdn.net/e421083458/article/details/23963189 cpdump安装配置及抓包分析 预装软件:[plain] view plain cop ...

随机推荐

  1. Sass-@each

    @each 循环就是去遍历一个列表,然后从列表中取出对应的值. @each 循环指令的形式: @each $var in <list> 如果你没有接触过列表,也不要紧,他也非常简单. 在下 ...

  2. JDBC简单总结

    几种常用数据库的JDBC URL 对于 Oracle 数据库连接,采用如下形式: jdbc:oracle:thin:@localhost:1521:sid 对于 SQLServer 数据库连接,采用如 ...

  3. boost propertyTree

    Boost PropertyTree provides a tree structure to store key/value pairs. Tree structures means that a ...

  4. 【Python】用python -m http.server 8888搭建本地局域网

    python -m http.server 8888 由于工作中经常会用到局域网中同事之间互传文件,当文件太大时,可以采用局域网ftp之类的方式进行传输. 这里采用python的一个服务,可以快速的搭 ...

  5. flutter图片组件

    在flutter中,image组件有很多构造函数,常用的包括Image.asset(本地图片)和Image.network(远程图片). 常用属性 不管是显示本地图片还是远程图片,image组件都包含 ...

  6. Delphi 判断特定字符是为单字节还是双字节

    判断特定字符是为单字节还是双字节 // mbSingleByte 单字节字符 //mbLeadByte 双字节字符首字节 //mbTrailByte 双字节字符尾字节 Edit1.Text:='010 ...

  7. python利用eval方法提升dataframe运算性能

    eval方法可以直接利用c语言的速度,而不用分配中间数组,不需要中间内存的占用. 如果包含多个步骤,每个步骤都要分配一块内存 import numpy as npimport pandas as pd ...

  8. 用maven搭建多模块项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

  9. STM32时钟配置方法详解

      一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源, ...

  10. 像这样玩C#【转】,觉得文章写的不错就转来啦!版权不在我

    我们玩技术,不是被技术玩.Coding是快乐的,而非苦逼的..Net/C# 这个神器竟然天天有人吐槽.看不下去鸟. 在top10语言中,C#是最优美的语言,没有之一.在top10语言中,C#所可用的标 ...