精华内容
下载资源
问答
  • linux抓包命令tcpdump
    千次阅读
    2020-08-26 22:28:33

    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)))'
    
    更多相关内容
  • 系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。1,安装tcpdump 一些系统默认没有安装,我们需要yum安装下这个命令: yum install ...

    系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。
    1,安装tcpdump
    一些系统默认没有安装,我们需要yum安装下这个命令:
    yum install  tcpdump -y
    2,tcpdump使用。
    一些使用我们可以tcpdump –help看下帮助,比如:

     

    常用的一些简单用法,一般是抓取对应网卡、端口、对应IP等。
    tcpdump  -nn 本地网卡地址以及外部链接地址 ,并采用IP地址、端口表示。 如果不加-nn 则会本机主机名以及外部客户端myblast显示。
    tcpdump -i eth1 抓取网卡eth1包链接情况。如果不指定网卡,默认抓取eth0数据包。
    tcpdump -i eth1 port 80 抓取eth1网卡80端口链接情况。
    tcpdump  -nn  -i eth1 port 80  -c 20 抓取eth1网卡80端口链接情况并长度20。
    tcpdump -nn tcp 抓取tcp 链接包。如udp,则将tcp改成udp即可。
    tcpdump  -nn  -i eth1 port 80  and host 118.112.163.61  -c 10 抓取抓取eth1网卡80端口和链接地址118.112.163.61链接情况并长度10。
    tcpdump  -nn  -s0 -i eth1 port 80  and host 118.112.163.61  -c 10  同上相比,加了参数-s0 代表抓取完整包。

    使用比较简单,可以自行执行测试学习。

    展开全文
  • linux抓包命令tcpdump

    千次阅读 2020-12-20 18:13:44
    tcpdump是一个功能强大的命令行数据包分析器,它是通过监听服务器的网卡来获取数据包,所有通过网络访问的数据包都能获取到...参数介绍tcpdump命令的参数很多,详见如下这里只介绍一些常用的参数​-c countcount表示...

    tcpdump是一个功能强大的命令行数据包分析器,它是通过监听服务器的网卡来获取数据包,所有通过网络访问的数据包都能获取到。它也提供了过滤器的功能,可以获取指定的网络、端口或协议的数据包

    程序员日常排查问题,最常用的是使用过滤器功能获取指定端口的数据包,用来分析服务器是否收到请求、请求数据是否完整。

    参数介绍

    tcpdump命令的参数很多,详见如下

    这里只介绍一些常用的参数

    ​-c count

    count表示数量。抓取数据包的数量达到count后结束命令,如果不使用-c 参数,会不停的抓取数据包,直到手动停止

    -C file_size

    抓取数据包保存到文件时,通过该命令指定文件的大小。文件达到指定大小后,会创建一个在原文件名称后面加上序号的新文件,如:dump.txt,dump.txt1。file_size的单位是b

    -D

    列出服务器所有网卡。tcpdump默认监听的是编号最小的那个网卡,一般是eth0。在进行抓包时可以通过 -i 参数指定监听的网卡,any表示监听所有网卡

    -iinterface

    指定监听的网卡名称,any表示监听所有的网卡

    -n

    输出结果中,不把ip转换成主机名(默认显示的是主机名)

    -q

    快速输出,只输出简要的数据包信息

    -r file

    从文件中获取数据包,不再从网络获取数据包

    -t

    不输出时间戳

    -w file

    将抓取的数据包保存到文件,-r 参数可以从文件中读取数据包

    -W filecount

    指定文件的数量,当文件滚动到指定数量后会从第一个文件开始覆盖

    除了以上参数,还有一些关键字可以用来进行条件过滤,常用关键字如下

    -host

    过滤主机,如 tcpdump host 192.168.1.110 只抓取经过这个ip的数据包

    -src

    用来过滤请求来源方的参数,如:tcpdump src host 192.168.1.110 只抓取从这个ip过来的数据包

    -dst

    用来过滤请求接收方的参数,如:tcpdump dst host 192.168.1.110 只抓取发送到这个ip的数据包

    -port

    过滤端口,如:tcpdump port 8080 只抓取经过8080端口的数据包

    -net

    过滤网络,如:tcpdump net 192.168 只抓取经过这个网段的数据包

    -and、not、or

    条件过滤,和字面意思一样。如:tcpdump net 192.168 and port 8080 抓取经过192.168网段并经过8080端口的数据包

    数据包分析

    抓取的数据包格式如下

    20:17:43.496528

    时间戳,时:分:秒.微秒

    IP

    网际网络协议的名称

    180.101.49.12.http > iZbp14w0b2rs7i1400bjjmZ.42468180.101.49.12.http

    请求发送方的ip和端口 > 请求接收方的ip和端口。端口有时会显示为某个网络协议,如http、ssh、mysql等

    Flags [R]

    flag标识和状态,可选的状态有: [S.] [.] [P.] [F.][R]

    seq、ack、fin

    表示tcp协议的3次握手和4次挥手的过程。seq表示请求的序列号,ack是回答的序列号,fin表示完成。这里显示的序列号是相对值,-S参数可以显示绝对值

    win

    表示当前窗口的可用大小

    length

    表示报文体的长度,从长度可以简单分析是否正确接收了请求

    通过以上结果只能做简单的分析,可以使用-w参数把数据包写入文件,文件中记录的数据包比命令行要详细的多。借助分析工具可以对文件进一步分析,这里推荐使用Wireshark,这个工具是开源的,开箱即用使用简单,这里不做详细介绍了

    常用的命令组合

    抓取8080端口的数据包

    tcpdump -i any port 8080

    抓取从192.168.1.110发送到192.168.1.111的数据包

    tcpdump -i any src host 192.168.1.110 and dst host 192.168.1.111

    抓取192.168网段除了192.168.1.110的请求的数据包

    tcpdump -i any src net 192.168 and 'src host not 192.168.1.110'

    抓取8080端口的数据包并写入dump.log文件中

    tcpdump -i any port 8080 -w dump.log

    注意事项

    1.tcpdump需要用管理员权限运行,可以用sudo命令或者root用户

    2.抓取的数据包通过length字段只能做一些简单的判断,想要详细分析,需要借助数据包分析工具,如:Wireshark

    展开全文
  • Linux抓包命令Tcpdump

    千次阅读 2021-10-26 13:52:14
    一、命令概述 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 二、命令参数 -A以ASCII...

    一、命令概述

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

    二、命令参数

    -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 直接将分组写入文件中,而不是不分析并打印出来。

    三、命令表达式

    第一种是关于类型的关键字,主要包括host,net,port

    host   119.124.35.16   表示过滤IP为119.124.35.16的所有数据包

    net     192.168.0.0/24 表示过滤192.168.0.0/24,即包含这整个24位子网所有IP的数据包

    port    22        表示过滤经过22端口的数据包

    默认表达式为:host

    第二种是确定传输方向的关键字,主要包括src,dst,dst or src,dst and src

    src    119.124.35.16      表示输出IP包中来源IP为119.124.35.16的数据包(入包)

    dst    119.124.35.16      表示输出IP包中目的IP为119.124.35.16的数据包(出包)

    默认为:dst or src  即同时输出来源、目的的数据包

    第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp

    tcpdump tcp

    不同协议类型关键字指输出对应类型的数据包,默认输出所有类型数据包

    四、示例

    tcpdump host 119.248.37.12

    所有来自IP:119.248.37.12的来源或出站数据包都将进行抓取,输出至控制台

    tcpdump  src host 119.248.37.12

    抓取所有来自IP:119.248.37.12的来源数据包,输出至控制台

    tcpdump  dst host 119.248.37.12

    抓取所有访问IP:119.248.37.12的出站数据包,输出至控制台

    tcpdump port 22

    抓取所有访问22端口的数据包,输出至控制台(入、出站数据)

    tcpdump tcp port 22 and src host 119.248.37.12

    抓取所有访问22端口的数据包且入站IP为:119.248.37.12

    tcpdump ip host 119.248.37.12 and 119.248.37.13

    抓取IP为119.248.37.12、119.248.37.13的入、出站数据包

    tcpdump ip host ! 119.248.37.12

    抓取IP除119.248.37.12外,所有IP的入、出站数据包

    展开全文
  • linux抓包-tcpdump命令

    2022-06-09 15:41:30
    linux抓包-tcpdump命令:enp4s0f0---ifconfig--->网卡名称-s 0 ---->不限制抓包的大小port 25228---->只抓取服务器上25228端口的数据流量-w hk2.pcap --->保存的文件名称-v --->显示抓包的大小数字
  • 一个学友问下怎么没有抓包命令的教程,感谢热心反馈,特地这里简单补充下内容以便学友了解。系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用...
  • tcpdump 是一款灵活、功能强大的抓包工具,能有效地帮助排查网络故障问题。 以我作为管理员的经验,在网络连接中经常遇到十分难以排查的故障问题。对于这类情况, tcpdump 便能派上用场。 tcpdump 是一个命令行实用...
  • tcpdump日常使用语法
  • 原标题:Linux抓包命令tcpdump命令图解tcpdump命令-->用来将网络中传送的数据包的"头"完全截获下来提供分析,常见的有Wireshark。在Linux中输入命令man tcpdump给出的定义如下所示:tcpdump - 转储网络上的数据流...
  • Linux抓包命令tcpdump详解

    千次阅读 2021-05-09 08:59:05
    tcpdump是一个命令行实用程序,可用于捕获和检查进出系统的网络流量。 它是网络管理员中用于排除网络问题和安全测试的最常用工具。尽管名称如此,使用...在本文中,我们将介绍如何在Linux中使用tcpdump命令的基础...
  • Linuxtcpdump抓包命令详解

    千次阅读 2022-06-07 15:30:12
    Tcpdum是Linux上强大的网络数据采集分析工具
  • 顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、...实用命令实例:(1).默认启动#普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包.[[...
  • tcpdump
  • linux下,可以使用 tcpdump 命令来抓取数据包。 主要用法如下:过滤网卡tcpdump -i eth0 #抓取所有经过网卡eth0数据包tcpdump -i lo #取环回口的数据包 过滤主机/IPtcpdump host 192.168.10.10 #抓取所有IP为192...
  • linux抓包命令--tcpdump的使用

    千次阅读 2021-05-19 06:23:57
    例:tcpdump host 172.16.29.40 and port 4600 -X -s 500tcpdupm host 172.16.29.40 and port 4600 -X -s 500 -l -nn | teel data.txt //可以将数据保存下来tcpdump采用命令行方式,它的命令格式为:tcpdump [ -...
  • Linux系统-tcpdump常用抓包命令

    千次阅读 2022-03-22 10:51:39
    单独总结tcpdump抓包常用命令 主要语法 过滤主机/IP: tcpdump -i eth1 host 172.16.7.206 抓取所有经过网卡1,目的IP为172.16.7.206的网络数据 过滤端口: tcpdump -i eth1 dst port 1234 抓取所有经过网卡1...
  • tcpdump 完成了抓包,它将展示如下计数:已捕获数据包数量(这是 tcpdump 已接受和已处理的数据包数)已由筛选器接受的数据包数量(其含义取决于运行
  • tcpdumplinux系统中提供的一个命令行工具,可以将网络中传送的数据包完全截获下来,提供网络数据...下面这篇文章主要给大家介绍了关于如何在Linux中使用tcpdump命令捕获与分析数据包的相关资料,需要的朋友可以参考下
  • Linux抓包命令tcpdump

    2018-10-17 10:54:00
    PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,...
  • 一、抓包命令概述 作用:(1)捕获网络协议包(2)分析网络协议包 分类:(1)命令行工具,如tcpdump(2)图像界面工具,wireshark tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的...
  • Linux抓包命令集锦(tcpdump抓包)

    千次阅读 2019-01-09 14:21:32
    当然,你可能在抓包之前还要做一些其他工作,以保证抓包时的工作场景就是你想要分析的目标场景。抓包时你需要root权限。 抓取不含包体的包: tcpdump -nn port 80 > 123.pkg.txt 抓取含有包体的包并进行初步解包: ...
  • Linux 抓包命令 tcpdump

    2019-09-17 14:26:05
    tcpdump抓包命令 -ilo: 抓取lo网卡的数据包(回环网口的包) -s0:从每个分组中读取最开始的snaplen个字节,后面可以跟数字指定截取多少个字节,0是指截取所有。 (防止包截断) -n nn:以数字显示主机及端口...
  • Linux 抓包工具 tcpdump 用法 tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。 ...
  • tcpdump是一个功能强大的命令行数据包分析器,它是通过监听...tcpdump命令的参数很多,详见如下 这里只介绍一些常用的参数​ -ccount // count表示数量。抓取数据包的数量达到count后结束命令,如果不使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,493
精华内容 4,997
关键字:

linux抓包命令tcpdump