导航:首页 > 程序命令 > tcpdump抓包命令

tcpdump抓包命令

发布时间:2024-05-06 08:54:08

A. linux 基础教程 29-tcpmp命令-1

    在Linux中输入命令man tcpmp给出的定义如下所示:

是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpmp:

常用选项如下所示:

1、第一个抓包示例

-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效
-nn : 不转换协议和端口号,当tcpmp遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH
-X : 将协议头和包内容原原本本的显示出来,tcpmp会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。
'port 22' : 告诉tcpmp要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。
-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。

2、-e 增加数据链路层的头部信息

    通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。

3、-l 将输出变为行缓冲模式

    -l的作用是将tcpmp的输出行为变为 行缓冲 方式,这样可以保证tcpmp遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。
    在Linux的标准I/O中提供了 全缓冲 行缓冲 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。

    在该例中,将tcpmp输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpmp才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。

4、-t 输出不加时间戳

    在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpmp默认情况下是按微秒来计时,因此最一个时间精确到了第6位。

5、 -v 显示详细信息

    在增加 -v 选项后,会在输出的内容中增加 tos ttl id offset 协议编号 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。

6、-F 指定过滤表达式所在的文件
    在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpmp只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。

7、 -w 将原始数据包信息保存到文件中

    当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。

7、 -r 从文件中读取原始数据包

    通过-w和-r选项即可实现抓包的录制回放功能。

B. Linux下如何抓指定IP的包

用tcpm命令可以抓指定IP的包,具体命令为:

tcpmp tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap

参数解析:

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

-i eth1 : 只抓经过接口eth1的包

-t : 不显示时间戳

-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包

-c 100 : 只抓取100个数据包

dst port 22 : 抓取目标端口是22的数据包

src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.1

-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

(2)tcpmp抓包命令扩展阅读

tcpmp语法格式:

tcpmp [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

tcpmp主要参数说明:

1、-a 尝试将网络和广播地址转换成名称。

2、-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。

3、-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。

4、-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。

5、-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。

6、-e 在每列倾倒资料上显示连接层级的文件头。

7、-f 用数字显示网际网络地址。

8、-F<表达文件> 指定内含表达方式的文件。

9、-i<网络界面> 使用指定的网络截面送出数据包。

10、-l 使用标准输出列的缓冲区。

11、-n 不把主机的网络地址转换成名字。

12、-N 不列出域名。

C. 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的服务端口。

D. TCPDUMP 抓包 怎么查看 抓的包的内容

1、tcpmp检测登录linux系统输入tcpmp,如果找不到表示没有安装。也可以用rpm查询。

E. 𨱍崇湅鍒拌繛鎺ョ殑SYN\SRT\FIN\ACK绛夊寘锛岀敤tcpmp锛屽懡浠ゆ槸镐庢牱镄

榛樿ゆ儏鍐典笅tcpmp灏嗕竴鐩存姄鍖咃纴鐩村埌鎸変笅钬漜trl+c钬濅腑姝锛屼娇鐢-c阃夐”鎴戜滑鍙浠ユ寚瀹氭姄鍖呯殑鏁伴噺锛

bash浠g爜
slot10_suse10sp2:/tmp/lx # tcpmp -c 2 -i eth0
tcpmp: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

10:58:05.656104 IP 10.71.171.140.ssh > 10.70.121.92.autodesk-lm: P 1210443473:1210443589(116) ack2583117929 win 12864
10:58:05.657074 IP 10.70.121.92.autodesk-lm > 10.71.171.140.ssh: . ack 116 win 65211

2 packets captured
6 packets received by filter
0 packets dropped by kernel

浠ヤ笂渚嫔瓙涓锛屽彧阍埚筫th0缃戝彛鎶2涓鍖呫

F. 在linux命令行环境下如何抓取网络数据包

  众所周知,在Windows下开发运行环境下,在调试网络环境时,可以可以很方便的借助wireshark等软件进行抓包分析;并且在linux或者Ubuntu等桌面版里也可以进行安装抓包工具进行抓包分析,但总有一些情况,无法直接运用工具(比如一些没有界面的linux环境系统中),则此时我们就需要使用到最简单的tcpmp命令进行网络抓包。

  一般的,linux下抓包时,抓取特定的网络数据包到当前文件夹下的文件中,再把文件拷贝出来利用Windows下的wireshark软件进行分析。

tcpmp命令详解:(简单举例)

  1、抓取到的文件为filename.cap,然后将此文件拷贝到Windows下,使用wireshar打开后,即可对此文件进行分析。
  2、eth0 是主机的网络适配器名称,具体的参数值可以在linux命令行窗口中通过 ifconfig 指令查询。

阅读全文

与tcpdump抓包命令相关的资料

热点内容
常用cmd网络命令 浏览:676
hashmap7源码分析 浏览:896
搜索引擎原理技术与系统pdf 浏览:359
运动估计算法python 浏览:858
java正则1 浏览:536
redhatlinux最新 浏览:177
python字典编程词汇 浏览:144
微信和服务器如何通讯 浏览:10
百家号服务器配置有什么用 浏览:598
怎么为电脑加密 浏览:58
服务器出现差错是什么意思 浏览:616
苹果app移到商店里怎么删掉 浏览:254
phpjsphtml 浏览:63
吃鸡手机国际服服务器超时怎么办 浏览:68
努比亚Z5无命令 浏览:642
展示网站云服务器 浏览:872
代码混淆器php 浏览:367
贝恩pdf 浏览:209
丙烯pdf 浏览:368
云服务器华硕 浏览:713