Linux抓包命令tcpdump「建议收藏」

Linux抓包命令tcpdump「建议收藏」tcpdump是一个抓包工具,用于抓取互联网上传输的数据包tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具tcpdump支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息#常用选项-i#监听哪一个网卡-n #不把ip解析成主机名-nn #不把端口解析成应用层协议-c #指定抓包的数量-S #不把随机序

大家好,又见面了,我是你们的朋友全栈君。

tcpdump是一个抓包工具,用于抓取互联网上传输的数据包

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具
tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

#常用选项

-i       #监听哪一个网卡 
-n  	 #不把ip解析成主机名
-nn 	 #不把端口解析成应用层协议
-c  	 #指定抓包的数量
-S  	 #不把随机序列和确认序列解析成绝对值
-w       #将流量保存到文件中,文件中的信息是无法直接查看的
-r       #读取文件中的内容
-v 		 #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。 
-vv 	 #输出详细的报文信息。

#实例

1、默认启动

tcpdump -vv		#普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

2、过滤主机

tcpdump -i eth1 host 192.168.1.1		#抓取所有经过eth1,目的或源地址是192.168.1.1的网络数据

tcpdump -i eth1 src host 192.168.1.1	#指定源地址,192.168.1.1

tcpdump -i eth1 dst host 192.168.1.1	#指定目的地址,192.168.1.1

3、过滤端口

tcpdump -i eth1 port 80			#抓取所有经过eth1,目的或源端口是80的网络数据

tcpdump -i eth1 src port 80		#指定源端口

tcpdump -i eth1 dst port 80		#指定目的端口

4、协议过滤

tcpdump -i eth1 arp

tcpdump -i eth1 ip

tcpdump -i eth1 tcp

tcpdump -i eth1 udp

tcpdump -i eth1 icmp

#抓tcp某端口的数据包

tcpdump -i eth0 tcp port 21 -nn

5、常用表达式

非 : ! or "not" (去掉双引号) 

且 : && or "and" 

或 : || or "or"

#抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数

tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'

#抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据

tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

#抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据

tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147734.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python基础(7)内置函数divmod用法

    python基础(7)内置函数divmod用法前言我们都知道,python中//代表整数运算中的取整,%代表整数运算中的取余,那么有什么函数可以同时取到整数和余数吗?答案是有的,使用python内置函数divmoddivmod首先看一下源

    2022年7月28日
    3
  • GoogLeNet论文详解[通俗易懂]

    GoogLeNet论文详解[通俗易懂]GoogLeNet1.Introduction  得益于深度学习的优势和更强大的卷积神经网络的出现,图像分类和目标检测的准确率发生了令人意想不到的进步。在2014年的ILSVRC比赛中,GoogLeNet取得了第一名的成绩,所用模型参数不足AlexNet(2012年冠军)的1/12。论文题目《Goingdeeperwithconvolutions》中的deeper有两层含义…

    2022年8月14日
    8
  • pgsql数据库恢复_oracle多字段去重

    pgsql数据库恢复_oracle多字段去重概述今天主要介绍一下Oracle、MySQL、sqlserver、pg数据库在删除重复数据时是怎么实现的。这里用实例来说明。一、Oracle数据库去重1、环境准备可以看到“ALLEN”和“SMITH”这两个人的数据重复了,现在要求表中name重复的数据只保留一行,其他的删除。CREATETABLEhwb(idint,namevarchar(10));INSERTINTOhwbVALUES(1,’TOM’);INSERTINTOhwbVALUES(2

    2022年10月1日
    0
  • Oracle技术之如何分析执行计划(一)

    Oracle技术之如何分析执行计划(一)

    2021年8月26日
    67
  • leetcode394字符串解码(回溯|栈)「建议收藏」

    leetcode394字符串解码(回溯|栈)「建议收藏」给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例 1:输入:s = “3[a]2[bc]”输出:”aaabcbc”示例 2:输入:s =

    2022年8月8日
    1
  • pycharm用pip安装numpy_numpy matplotlib

    pycharm用pip安装numpy_numpy matplotlib本文适用性如题啊,前一段时间学了些机器学习的东西,就想好好学下python,在10款最好的PythonIDE中选来选去pythonIDE还是选成了PyCharm(JetBrains开发的PythonIDE)。所以,本文适用者:喜欢或习惯使用PyCharmIDE,或某一IDE需要用python做科学计算/数据挖掘/机器学习/深度学习(也就是说需要安装NumPy,S

    2022年8月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号