[tcp] 快速掌握tcpdump抓包

栏目: 服务器 · 发布时间: 4年前

内容简介:一说到抓包,好像有点高深莫测,其实在工作中,大部分是应用发生异常时需要抓包,以此来分析原因,Linux下一般用tcpdump命令抓包,而使用tcpdump其实常用的参数也就那么几个抓包主要是看数据传输是否都走了正确的TCP协议,比如因为网络或者攻击导致某些包(SYN TIME_WAIT)等特别多,这个时候抓包就很容看出来因此抓包不必记太多参数,只要能过滤到我们想要的包即可

一说到抓包,好像有点高深莫测,其实在工作中,大部分是应用发生异常时需要抓包,以此来分析原因,Linux下一般用tcpdump命令抓包,而使用tcpdump其实常用的参数也就那么几个

抓包主要是看数据传输是否都走了正确的TCP协议,比如因为网络或者攻击导致某些包(SYN TIME_WAIT)等特别多,这个时候抓包就很容看出来

因此抓包不必记太多参数,只要能过滤到我们想要的包即可

tcpdump命令常用参数

-i 指定网络接口,例如eth0、lo、pp0等等的界面看一段直接用tcpdump命令抓包的文档

-S 将tcp的序列号以绝对值形式输出,默认相对值

-nn 不进行端口名称的转换,默认转换,比如22端口会显示ssh

-w 存储抓到的包,一般.cap格式

-v 输出更详细的报文信息,可以多个v一起使用,如-vvvv

or|and|nor 与或非,以下参数如多个使用,则需要用到

host 指定过滤的ip,比如10.0.0.1,那么只抓与该ip相关的包

port 指定过滤的端口

src host 指定过滤的源ip

dst host 指定过滤的目的ip

src port 指定过滤的源端口

dst port 指定过滤的目的端口

tcpdump抓包实例

tcpdump -S -nn port 443 and host 10.88.77.15
tcpdump -S -nn port 443 and host 10.88.77.15 -w /tmp/dump.wap

如抓取过滤有host为10.25.137.230和端口443

tcpdump -S -nn host 10.25.137.230 and port 443

[tcp] 快速掌握tcpdump抓包

15:39:07.427683 IP 10.25.137.230.20260 > 10.29.64.142.443: Flags [P.], seq 1026816011:1026816267, ack 1193238686, win 115, length 256

以此行为例

  • 15:39:07.427683 网络包发生的时间

IP 10.25.137.230.20260 > 10.29.64.142.443:

  • IP标识
  • 源ip或者源主机名和端口20260;
  • >流向符,数据包从左边发往右边
  • 目的ip或者目的主机名和端口443

Flags [P.] Flags的标记,此处为[P.],代表PST和ACK(.代表ACK确认)

seq 1026816011:1026816267, ack 1193238686, win 115, length 256

  • seq为序列号
  • ack为确认码
  • win为滑动窗口大小
  • length为承载的数据(payload)长度length,如果没有数据则为0

tcpdump抓包的FLags标记

tcpdump的Flags代表了这个数据包的用途,这些标记是TCP首部的内容

[S]:SYN同步标识

[.]: . 表示ACK确认标识

[S.]:SYN同步标识,以及确认[S]的ACK

[P.]:PSH,push推送,数据传输

[R.]:RST,连接重置

[F.]:FIN结束连接

[DF]:Don't Fragment(不要碎裂),当DF=0时,表示允许分片,一般 -v 时才有这个标识

[FP.]:标记FIN、PUSH、ACK组合,这样做是为了提升网络效率,减少数据来回确认等


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动的JavaScript开发

测试驱动的JavaScript开发

Christian Johansen / 赵勇、程德、凌杰、高博 / 机械工业出版社 / 2012-2-9 / 69.00元

本书是一本完整的、基于最佳实践的JavaScript敏捷测试指南,同时又有着测试驱动开发方法(TDD)所带来的质量保证。领先一步的JavaScript敏捷开发者Christian Johansen的讨论涵盖了将最先进的自动化测试用于JavaScript开发环境的方方面面,带领读者走查整个开发的生命周期,从项目启动到应用程序部署。本书的主要内容包括:掌握自动化测试和TDD;构建有效的自动化测试工作流......一起来看看 《测试驱动的JavaScript开发》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码