什么!!!你还不会tcpdump?

前言

给你两个选择
A.划走并损失3s生命 B.学会它然后获得成就感
不是吧,不是吧,你咋不会这么强大的工具啊,来吧,铁子,让我给为你介绍它!!!

一、tcpdump是什么

了解一个东西的作用才能更好使用它。那么他是干啥的?
tcpdump是采取命令行的方式,对网络接口的数据包进行筛选抓取。说白了,tcpdump就是一个抓包工具,抓取网络传输中的数据包。用过wireshark吗?功能类似。

二、使用tcpdump

<1>-i :选定网络接口

这个选项就是itent,网卡呗。设置tcpdump这个服务在哪个接口监听.
默认就是eth0。
在这里插入图片描述

<2>-b:在网络层选择协议

网络层协议,注意是网络层!!(ip,arp,rarp,icmp,igmp)
协议类型解读,放在文章补充里了,想理解的看看。

在这里插入图片描述

<3>-c:抓count个包退出

在这里插入图片描述

<4>-Q:选择抓出方向还是入方向

取值为in,out,inout。
在这里插入图片描述

<5>-w:输入到文件

这个文件是在当前目录生成,格式是.pcap。就是记录的数据报文格式。
在这里插入图片描述

<6>-q:简介输出

看图,一切尽在不言中。
在这里插入图片描述

<7>-s:截取报文长度

tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,
可以使用 -s number, number 就是你要截取的报文字节数,
如果是 0 的话,表示截取报文全部内容。
这没啥演示必要,感兴趣自己试一试。

<8>-C:文件尺寸

配合-w使用。就是检查w的文件大小,超过就关闭此文件,另创建新文件,文件名一致,只增加数字。
在这里插入图片描述

格式是对的啊,权限不够可以使用命令aa-complain tcpdump改enforce为complain模式

<9>-v:详细输出

在这里插入图片描述

<9>-I:基于行的输出

这个主要是为了便于交给其他工具查看,大概就是规范格式
在这里插入图片描述

三、特殊命令

数据庞大,就不演示了,不好截图主要是,而且比较好懂。

<1>host :限定主机

//过来含有目标ip数据
tcpdump host 192.168.1.103

<2>src/dst :限定地址

//源地址与目的地址
tcpdump  src 192.168.1.103
tcpdump  dst 192.168.1.103

<3>net :网段限定

//查看网段,没啥说的
tcpdump net 192.168.1.0/24

<4> port:端口限定

//查看80端口
tcpdump port 80

<5> src/dst port:限定端口

//限定端口,没啥说的。
tcpdump src port 80
tcpdump dst port 80

<6> protol:限定协议,tcp,udp 等

//查看tcp端口数据
tcpdump tcp 

<7> and or not:逻辑表达式

//查看80端口源地址为103,或目标地址为101的数据包
tcpdump port 80 and src 192.168.1.103 or dst 192.168.1.101

补充资料一

ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

IP协议

IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。

ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。

IGMP协议

互联网组管理协议(IGMP,Internet Group Management Protocol)是因特网协议家族中的一个组播协议。

TCP/IP协议族的一个子协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。允许Internet主机参加多播,也是IP主机用作向相邻多目路由器报告多目组成员的协议。多目路由器是支持组播的路由器,向本地网络发送IGMP查询。主机通过发送IGMP报告来应答查询。组播路由器负责将组播包转发到所有网络中组播成员。

互联网组管理协议(IGMP)是对应于开源系统互联(OSI)七层框架模型中网络层的协议。在互联网工程任务组(The Internet Engineering Task Force,简称IETF)编写的标准文档(RFC)2236.中对Internet组管理协议(IGMP)做了详尽的描述。

补充资料二

-vv:产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。(摘自网络,目前我还未使用过)
-vvv:产生比-vv更详细的输出。比如 telent 时所使用的SB, SE 选项将会被打印, 如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来
-t:在每行的输出中不输出时间
-tt:在每行的输出中会输出时间戳
-ttt:输出每两行打印的时间间隔(以毫秒为单位)
-tttt:在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观
-n:不把ip转化成域名,直接显示 ip,避免执行 DNS lookups 的过程,速度会快很多
-nn:不把协议和端口号转化成名字,速度也会快很多。
-N:不打印出host 的域名部分.。

总结

铁子,学会点个赞,再会!

猜你喜欢

转载自blog.csdn.net/qq_57223070/article/details/127097009