网站首页 > 文章中心 > 其它

linux的抓包命令_linux抓包命令指定ip

作者:小编 更新时间:2023-09-25 11:38:27 浏览量:488人看过

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

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

linux的抓包命令_linux抓包命令指定ip-图1

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

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

①.、抓取到的文件为filename.cap,然后将此文件拷贝到Windows下,使用wireshar打开后,即可对此文件进行分析.

Linux命令抓包如何分包

使用tcpdump可以.

tcpdump是一个功能强大的命令行数据包分析器,它是通过监听服务器的网卡来获取数据包,所有通过网络访问的数据包都能获取到.

它也提供了过滤器的功能,可以获取指定的网络、端口或协议的数据包程序员日常排查问题,最常用的是使用过滤器功能获取指定端口的数据包,用来分析服务器是否收到请求、请求数据是否完整.

Linux下如何抓指定IP的包

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

参数解析:

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

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

-t : 不显示时间戳

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

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

扩展资料

tcpdump语法格式:

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

tcpdump主要参数说明:

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

①.0、-l 使用标准输出列的缓冲区.

①.1、-n 不把主机的网络地址转换成名字.

Linux 系统扫描nmap与tcpdump抓包

NMAP扫描

一款强大的网络探测利器工具

支持多种探测技术

--ping扫描

--多端口扫描

-- TCP/IP指纹校验

为什么需要扫描?

以获取一些公开/非公开信息为目的

--检测潜在风险

--查找可攻击目标

--收集设备/主机/系统/软件信息

--发现可利用的安全漏洞

基本用法

nmap [扫描类型] [选项] 扫描目标...

常用的扫描类型

常用选项

-sT TCP 连接扫描(全开)

-sU UDP扫描

-sP ICMP扫描

-sV 探测打开的端口对应的服务版本信息

-A 目标系统全面分析 (可能会比较慢)

-p 扫描指定端口

①. ) 检查目标主机是否能ping通

tcpdump

命令行抓取数据包工具

tcpdump [选项] [过滤条件]

常见监控选项

-i,指定监控的网络接口(默认监听第一个网卡)

-A,转换为 ACSII 码,以方便阅读

-w,将数据包信息保存到指定文件

-r,从指定文件读取数据包信息

常用的过滤条件:

类型:host、net、port、portrange

方向:src、dst

协议:tcp、udp、ip、wlan、arp、......

多个条件组合:and、or、not

案例1

①. ) 安装部署vsftpd服务

tcpdump 命令使用简介

tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上.熟悉 tcpdump 的使用能够帮助你分析、调试网络数据.

要想使用很好地掌握 tcpdump, 必须对网络报文( TCP/IP 协议)有一定的了解.不过对于简单的使用来说,只要有网络基础概念就行了.

tcpdump 是一个很复杂的命令,想了解它的方方面面非常不易,也不值得推荐,能够使用它解决日常工作中的问题才是关键.

tcpdump 的选项也很多,要想知道所有选项的话,请参考 man tcpdump ,下面只记录 tcpdump 最常用的选项.

完整的英文文档:

Frame = Ethernet Header + IP Header + TCP Header + TCP Segment Data

这样,数据经过本地TCP层分段后,交给本地IP层,在本地IP层就不需要分片了.但是在下一跳路由(Next Hop)的邻居路由器上可能发生IP分片!因为路由器的网卡的MTU可能小于需要转发的IP数据报的大小.

这时候,在路由器上可能发生两种情况:

(1)如果源发送端设置了这个IP数据包可以分片(May Fragment,DF=0),路由器将IP数据报分片后转发.

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

监听所有端口,直接显示 ip 地址.

显示更详细的数据报文,包括 tos, ttl, checksum 等.

显示数据报的全部数据信息,用 hex 和 ascii 两列对比输出.

下面是抓取 ping 命令的请求和返回的两个报文,可以看到全部的数据.

机器上的网络报文数量异常的多,很多时候我们只关系和具体问题有关的数据报(比如访问某个网站的数据,或者 icmp 超时的报文等等),而这些数据只占到很小的一部分.把所有的数据截取下来,从里面找到想要的信息无疑是一件很费时费力的工作.而 tcpdump 提供了灵活的语法可以精确地截取关心的数据报,简化分析的工作量.这些选择数据包的语句就是过滤器(filter)!

过滤器也可以简单地分为三类: type , dir 和 proto .

Type 让你区分报文的类型,主要由 host (主机), net (网络) 和 port (端口) 组成. src 和 dst 也可以用来过滤报文的源地址和目的地址.

此外还有指定端口和数据报文范围的过滤器:

过于过滤器的更多详细信息,请访问 tcpdump 官方 map page 的 PCAP-FILTER 部分

使用 tcpdump 截取数据报文的时候,默认会打印到屏幕的默认输出,你会看到按照顺序和格式,很多的数据一行行快速闪过,根本来不及看清楚所有的内容.不过,tcpdump 提供了把截取的数据保存到文件的功能,以便后面使用其他图形工具(比如 wireshark,Snort)来分析.

-r 可以读取文件里的数据报文,显示到屏幕上.

NOTE:保存到文件的数据不是屏幕上看到的文件信息,而是包含了额外信息的固定格式 pcap,需要特殊的软件(如: Wireshark )来查看,使用 vim 或者 cat 命令会出现乱码.

过滤的真正强大之处在于你可以随意组合它们,而连接它们的逻辑就是常用的 与/AND/ 、 或/OR/|| 和 非/not/! .

从上面的例子就可以看出,你可以随意地组合之前的过滤器来截取自己期望的数据报,最重要的就是知道自己要精确匹配的数据室怎样的!

对于比较复杂的过滤器表达式,为了逻辑的清晰,可以使用括号.不过默认情况下,tcpdump 把 () 当做特殊的字符,所以必须使用单引号 ' 来消除歧义:

截取数据只是第一步,第二步就是理解这些数据,下面就解释一下 tcpdump 命令输出各部分的意义.

此外,上面的三条数据还是 tcp 协议的三次握手过程,第一条就是 SYN 报文,这个可以通过 Flags [S] 看出.下面是常见的 TCP 报文的 Flags:

而第二条数据的 [S.] 表示 SYN-ACK ,就是 SYN 报文的应答报文.

-c 参数对于运维人员来说也比较常用,因为流量比较大的服务器,靠人工CTRL+C还是抓的太多,甚至导致服务器宕机,于是可以用 -c 参数指定抓多少个包.

上面的命令计算抓10000个SYN包花费多少时间,可以判断访问量大概是多少.

Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具.但在Linux下很难找到一个好用的图形化抓包工具.

还好有Tcpdump.我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包.

tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的.显然这不利于分析网络故障,通常的解决办法是先使用带 -w 参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序(如 Wireshark )进行解码分析.当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘.

以上就是土嘎嘎小编为大家整理的linux的抓包命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章