tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

监控连接到10.170.136.115的9999端口的请求

tcpdump -i any -nn -A -v src 10.170.136.115 and port 9999  | grep query

tcpdump抓包举例:

tcpdump -i any tcp port 4800 -nn -A -v

结果如下蓝色部分即是消息数据:

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
16:40:02.435880 IP (tos 0x0, ttl 64, id 60122, offset 0, flags [DF], proto TCP (6), length 181)
    192.168.136.115.58078 > 192.168.136.114.4800: Flags [P.], cksum 0x2691 (incorrect -> 0x545e), seq 3010428756:3010428885, ack 2832992565, win 2098, options [nop,nop,TS val 548595105 ecr 551848520], length 129
E.....@.@.).
..s
..r.....o.T..   5...2&......
 ... ..H{"param":"jisuan_252.puppet,5800,1395245041154@@52@@0.43@@0","method":"taskServerReport",

"call_id":"21140"}

16:40:02.435885 IP (tos 0x0, ttl 64, id 60122, offset 0, flags [DF], proto TCP (6), length 181)

更详细的tcpdump参数如下:

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

-c 在收到指定的数量的分组后,tcpdump就会停止。

-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。

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

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

-ddd 将匹配信息包的代码以十进制的形式给出。

-D 打印出系统中所有可以用tcpdump截包的网络接口。

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

-E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。

-f 将外部的Internet地址以数字的形式打印出来。

-F 从指定的文件中读取表达式,忽略命令行中给出的表达式。

-i 指定监听的网络接口。

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

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

-m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。

-M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

-n 不把网络地址转换成名字。

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

-N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘。

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

-O 不运行分组分组匹配(packet-matching)代码优化程序。

-P 不将网络接口设置成混杂模式。

-q 快速输出。只输出较少的协议信息。

-r 从指定的文件中读取包(这些包一般通过-w选项产生)。

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

-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。

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

-t 不在每一行中输出时间戳。

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

-ttt 输出本行和前面一行之间的时间差。

-tttt 在每一行中输出由date处理的默认格式的时间戳。

-u 输出未解码的NFS句柄。

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

-vv 输出详细的报文信息。

-w 直接将分组写入文件中,而不是不分析并打印出来。

使用tcpdump监控网络消息发送相关推荐

  1. 关于即时通讯系统中消息发送、转发、展示、提示等专利初探

    关于即时通讯系统中消息发送.转发.展示.提示等专利初探 即时通讯是目前Internet上最为流行的通讯方式,实时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使 ...

  2. python 网络编程之Socket通信案例消息发送与接收

    背景 网络编程是python编程中的一项基本技术.本文将实现一个简单的Socket通信案例消息发送与接收 正文 在python中的socket编程的大致流程图如上所示 我们来首先编写客户端的代码: # ...

  3. 发送结构化的网络消息

    文章目录 1 发送结构化的网络消息 1.1 概述 1.2 服务端实现 1.3 客户端实现 1 发送结构化的网络消息 1.1 概述 我们之前都是采用纯字符串网络消息,特点如下: 优点:处理简易命令方便快 ...

  4. delphi 发送网络消息_Actor 消息的可靠交付(Akka Typed)

    消息的可靠交付 Akka Actor 模型默认情况下是实现的最多一次交付,在本地环境发送消息还好,通常不会存在消息丢失的情况.但是在网络环境下,因为网络延迟等原因消息丢失的可能性大大增加.另外,发送端 ...

  5. 服务器监控 微信发送,python3.8 微信发送服务器监控报警消息代码实现

    python3.8 微信发送服务器监控报警消息代码实现 发布时间:2020-10-06 08:01:33 来源:脚本之家 阅读:93 作者:炒鸡蛋 这篇文章主要介绍了python3.8 微信发送服务器 ...

  6. python监听局域网微信_python3.8 微信发送服务器监控报警消息代码实现

    这篇文章主要介绍了python3.8 微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python版本 >& ...

  7. 传感器信号 如何发送到服务器,传感器如何将消息发送给云服务器

    传感器如何将消息发送给云服务器 内容精选 换一换 消息发送和消费的可靠性必须由DMS服务和生产者以及消费者协同工作才能保证.同时开发者需要尽量合理使用DMS消息队列,以提高消息发送和消息消费的效率与准 ...

  8. rabbitmq消息队列,消息发送失败,消息持久化,消费者处理失败相关

    转:https://blog.csdn.net/u014373554/article/details/92686063 项目是使用springboot项目开发的,前是代码实现,后面有分析发送消息失败. ...

  9. go 实现 kafka 消息发送、接收

    引言 网络上关于 go 实现 kafka 消息发送和接收的文章很多,但是实际操作起来又不是很清楚,本文在网络资源的基础上,结合自己搭建过程中遇到的问题进行了总结. 本文的实验主机:Mac笔记本. 一. ...

最新文章

  1. [Android]ViewSwitcher使用范例
  2. 修正r s分析法matlab程序,关于R/S分析程序用法
  3. 低端没出路,请接触高端!
  4. 足不出户完成交付独家交付秘籍(第二回)
  5. 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
  6. 遍历 HashSet 的方法
  7. SAP UI5 应用启动(bootstrap)过程单步调试
  8. 华为重磅反击,鸿蒙来了!
  9. c语言函数调用二次方程求根,[编程入门]自定义函数求一元二次方程 (C语言代码)...
  10. Linux Ubuntu 16.04系统下可用的Windows应用
  11. POJ3264Balanced Lineup(最基础的线段树)
  12. python之小技巧积累
  13. Directx11学习笔记【七】 游戏定时器的实现
  14. 时间序列分析和预测(含实例及代码)
  15. [高通MSM8953_64][Android10]移除开机进入充电界面
  16. 取消迅雷接管浏览器下载
  17. php guzzle,php – 如何使用Guzzle 6记录所有API调用
  18. node mysql timeout_Error: Handshake inactivity timeout in Node.js MYSQL module
  19. 第十届蓝桥杯省赛原题及参考答案
  20. 某航空公司客户价值分析

热门文章

  1. Alert 日志报错:ORA-2730x OS Failure Message: No Buffer Space Available
  2. 北京理工大学慕课-Python网络爬虫与信息提取
  3. 3 Java类的内存分析
  4. 小程序安装wept报错解决
  5. 从2开始,在Go语言后端业务系统中引入缓存
  6. 【工作精华】还款计划
  7. javascript正则深入以及10个非常有意思的正则实战
  8. linux硬盘克隆后没有引导,如何克隆您的Linux硬盘驱动器:4种方法 | MOS86
  9. git clone下来的代码放在哪里,如何放在指定路径
  10. 修改金蝶kis服务器的文件路径,金蝶kis改服务器地址