当前位置:首页 » 币种行情 » tcpdump抓eth0

tcpdump抓eth0

发布时间: 2024-04-15 06:35:33

Ⅰ tcpmp 正则过滤

tcpmp采用命令行方式,它的命令格式为:

tcpmp [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

功能选项说明:

-a 将网络地址和广播地址转变成名字

-d 将匹配数据包的内容以易理解的汇编格式输出

-dd 将匹配数据包的内容以语言程序段的格式输出

-ddd将匹配数据包的内容以十进制形式输出

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

-f 将外部的internet以十进制数字形式打印输出

-l使标准输出变为缓冲行形式

-n不把地址(主机地址、端口)的数字形式转换成名字

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

-vv输出详细的报文信息

-v输出较详细的信息

-c指定要接收的数据包的数量接收到的数量达到后就会停止接收

-F从指定的文件中读取表达式忽略其他的表达式

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

-r从指定的文件中读取数据包这些包是通过选项保存得到的

-w直接将数据包写入指定的文件中不分析和打印输出

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

-s指定抓取数据的长度,采用了默认长度为68或96字节,-s0则表示没有长度的限制。如果没有这个设置,通常会抓包会显示Packet size limited ring capture,这样数据包会被截断,是不全的。

表达式是一个正则表达式,tcpmp利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。实际上,tcpmp的表达式主要包括三种类型的关键字

主要包括host,net,port,其中host用于表示网络上一台主机,net 用于表达式一个网络地址,port用于指定端口号,若表达式缺省若没有类型,默认类型为host。

如想要截获所有192.168.90.16与本机的交互数据包,只需在本机上执行如下命令

[root@test24267 ~]# tcpmp host 192.168.90.16 |  more   

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

4 packets captured

5 packets received by filter

0 packets dropped by kernel

Linux系统中,tcpmp默认收集从系统接口列表中搜寻到的编号(eth*)最小的已配置好的接口上的发送接收数据包。若没有找到,则会报错:

tcpmp: NFLOG link-layer type filtering not implemented

主要包括src,dst,src or dst,src and dst,这些关键字指明了传输的方向,默认为src or dst。如

[root@test24267 ~]# tcpmp src 192.168.90.16   

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

10:36:14.221553 IP 192.168.90.16.50982 > localhost.ssh: . ack 1966953710 win 255

10:36:14.430570 IP 192.168.90.16.50982 > localhost.ssh: . ack 133 win 254

10:36:14.435741 IP 192.168.90.16.50982 > localhost.ssh: P 0:52(52) ack 249 win 254

10:36:14.644771 IP 192.168.90.16.50982 > localhost.ssh: . ack 381 win 253

10:36:14.863178 IP 192.168.90.16.50982 > localhost.ssh: . ack 497 win 253

可以看到只抓取了源为192.168.90.16的单向的数据包。

包括fddi,ip,arp,rarp,tcp,udp,imcp等,默认监听所有协议的信息包。fddi是分布式光纤数据接口网络上所使用的网络协议。

除了这三种类型的关键字外,还有其他重要的关键字,如:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not'、'!',与运算符是'and'、'&&'、或运算符是'or'、'||',这些关键字可以组合起来构成强大的组合条件来满足我们的需求。

下面举几个例子来说明。

想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令

#tcpmp host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)

在正则表达式中括号需要使用转义字符\来表达。

如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:

#tcpmp ip host 210.27.48.1 and ! 210.27.48.2

如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:

#tcpmp tcp and port 23 and host 210.27.48.1

Telnet使用tcp协议,应用层为23端口。

获取主机210.27.48.1接收或发出的icmp包

#tcpmp -i eth0 icmp and host 210.27.48.1

ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。

抓取网口eth0上源mac地址或目的mac地址为00:21:85:6C9:A3的所有数据包,

#tcpmp -i eth0 ether src or dst 00:21:85:6C9:A3

注意,这里的mac地址格式必须以':'分隔。

我们还可以监视通过指定网关的数据包:

#tcpmp -i eth0 gateway Gatewayname

捕获有TCP标记的包

1、捕获所有的SYN包:tcpmp 'tcp[13] & 2 !=0'

[root@localhost ~]# tcpmp 'tcp[13] & 2 !=0' -i em1

tcpmp: verbose output suppressed, use -v or -vv for full protocol decode

listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes

20:06:52.103251 IP 10.255.255.93.52312 > 10.255.242.67.6379: Flags [S], seq 158892324, win 14600, options [mss 1460,sackOK,TS val 614181197 ecr 0,nop,wscale 7], length 0

20:06:52.103450 IP 10.255.242.67.6379 > 10.255.255.93.52312: Flags [S.], seq 795652737, ack 158892325, win 5792, options [mss 1460,sackOK,TS val 1354263797 ecr 614181197,nop,wscale 7], length 0

#捕获所有的ACK包

tcpmp 'tcp[13] &16 !=0'

#捕获所有的SYN-ACK包

tcpmp 'tcp[13] = 18'

#捕获所有的FIN包

tcpmp 'tcp[13] &1 !=0'

#捕获所有的RST包

tcpmp 'tcp[13] &4 !=0'

#抓取端口大于1024的tcp数据包

tcpmp –i eth* ‘tcp[0:2]>1024’

这些命令可以与其他过滤项组合使用。

后台抓包,控制台退出也不会影响:

nohup tcpmp -i eth1 port 110 -w /tmp/xxx.cap &

Ⅱ 使用tcpmp嗅探经过eth0,目的地址为10.1.0.1的80端口,并保存wireshark工具可打开

#tcpmp -i eth0 tcp port 80 -w /home/xx.pcap
例如:
# tcpmp -i eth0 -w /home/xxx.pcap

Ⅲ tcpmp抓包命令

1、tcpmp:默认启动。普通情况下,直接启动tcpmp将监视第一个网络接口上所有流过的数据包。

2、tcpmp -i eth1:监视指定网络接口的数据包,如果不指定网卡,默认tcpmp只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。

3、tcpmp host sundown:监视指定主机的数据包。打印所有进入或离开sundown的数据包。

4、tcpmp -i eth0 src host hostname:截获主机hostname发送的所有数据。

5、tcpmp -i eth0 dst host hostname:监视所有送到主机hostname的数据包。

6、tcpmp tcp port 23 and host 210.27.48.1:如果想要获取主机210.27.48.1接收或发出的telnet包。

7、tcpmp udp port 123:对本机的udp 123端口进行监视123为ntp的服务端口。

Ⅳ 关于linux tcpmp命令

用简单的话来定义tcpmp,就是:mp the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpmp可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

实用命令实例
默认启动
tcpmp
普通情况下,直接启动tcpmp将监视第一个网络接口上所有流过的数据包。

监视指定网络接口的数据包
tcpmp -i eth1
如果不指定网卡,默认tcpmp只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。

监视指定主机的数据包
打印所有进入或离开sundown的数据包.
tcpmp host sundown
也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包
tcpmp host 210.27.48.1
打印helios 与 hot 或者与 ace 之间通信的数据包
tcpmp host helios and \( hot or ace \)
截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信
tcpmp host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包.
tcpmp ip host ace and not helios
如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
tcpmp ip host 210.27.48.1 and ! 210.27.48.2
截获主机hostname发送的所有数据
tcpmp -i eth0 src host hostname
监视所有送到主机hostname的数据包
tcpmp -i eth0 dst host hostname

监视指定主机和端口的数据包
如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令
tcpmp tcp port 23 and host 210.27.48.1
对本机的udp 123 端口进行监视 123 为ntp的服务端口
tcpmp udp port 123

监视指定网络的数据包
打印本地主机与Berkeley网络上的主机之间的所有通信数据包(nt: ucb-ether, 此处可理解为'Berkeley网络'的网络地址,此表达式最原始的含义可表达为: 打印网络地址为ucb-ether的所有数据包)
tcpmp net ucb-ether
打印所有通过网关snup的ftp数据包(注意, 表达式被单引号括起来了, 这可以防止shell对其中的括号进行错误解析)
tcpmp 'gateway snup and (port ftp or ftp-data)'
打印所有源地址或目标地址是本地主机的IP数据包
(如果本地网络通过网关连到了另一网络, 则另一网络并不能算作本地网络.(nt: 此句翻译曲折,需补充).localnet 实际使用时要真正替换成本地网络的名字)
tcpmp ip and not net localnet

Ⅳ 使用什么命令来查看目的主机接收到的报文

tcpmp常用命令:
#抓取所有经过 eth0,目的或源地址是 192.168.29.162 的网络数据
命令:tcpmp -n -i eth0 host 192.168.29.162
# 源地址
命令:tcpmp -i eth1 src host 192.168.29.162
# 目的地址
命令:tcpmp -i eth1 dst host 192.168.29.162
#抓取当前服务器eth0网卡端口8080的网络数据
命令:tcpmp -n -i eth0 port 8080
#抓取mysql执行的sql语句
命令:tcpmp -i eth1 -s 0 -l -w - dst port 3306 | strings
#抓取mysql通讯的网络包(cap用wireshark打开)
命令tcpmp -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap
#抓取SMTP 数据
命令:tcpmp -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
#抓取HTTP GET数据,"GET "的十六进制是 47455420
命令:tcpmp -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
#抓取SSH返回,"SSH-"的十六进制是 0x5353482D
命令:tcpmp -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
#实时抓取端口号8080的GET包,然后写入GET.log
命令:tcpmp -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log
#抓取指定SYN个数,-c 参数指定抓多少个包。
命令:time tcpmp -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10

Ⅵ tcpmp为什么抓不到eth0的tcp包

/usr/sbin/tcpmp -i eth0 -s 1500 -w dhcp.pcap 'udp and port 67 and port 68'
-i 指定抓包网卡
-s 指定抓包长度,默认只抓包头
-w 将抓包内容保存下来,然后用wireshark之类的软件看更方便。如果想要在屏幕滚动查看,忽略这个选项
udp and port 67 and port 68:dhcp报文的过滤条件,udp协议,端口67和68

热点内容
林百欣国际会展中心怎么去 发布:2024-04-30 06:46:01 浏览:910
丹华资本投资了哪些区块链 发布:2024-04-30 06:12:03 浏览:85
区块链的几大技术障碍 发布:2024-04-30 05:53:35 浏览:115
9月1日以太坊矿工费疯涨 发布:2024-04-30 05:29:15 浏览:378
比特币勒索病的图片毒 发布:2024-04-30 05:28:20 浏览:180
黑虎鲨矿机跟熊猫 发布:2024-04-30 05:27:11 浏览:581
比特币换美元可行吗 发布:2024-04-30 05:23:43 浏览:297
波场TPX锁仓挖矿 发布:2024-04-30 05:22:41 浏览:491
币圈经理招聘 发布:2024-04-30 05:02:15 浏览:562
由btc系统 发布:2024-04-30 04:48:32 浏览:684