如何成为高级网络工程师?此工具必须掌握!

**

关注我,每天进步一点点!!

**

为了更好的分析网络,常见客户机的Windows操作系统可以安装Wireshark等抓包软件抓取数据流进行分析。那么服务器常用的Linux等系统如何抓取接口报文分析网络呢?

本期将介绍高级网工必备工具—Tcpdump!

Tcpdump简介

Tcpdump是一个强大的网络数据包捕获工具,其名称来源于其两个主要功能:“tcp”代表传输控制协议,位于传输层;“dump”则意为导出。它使用libpcap库来捕获数据包,可以对网络上传输的数据包进行嗅探,并保存成文件,也可对嗅探到的数据包进行过滤、统计和分析。

Tcpdump适用于大多数的类Unix系统 操作系统:包括Linux、Solaris、BSD、Mac OS X、HP-UX和AIX 等等。在这些系统中,Tcpdump 需要使用libpcap这个捕捉数据的库。其在Windows下的版本称为WinDump;它需要WinPcap驱动,相当于在Linux平台下的libpcap。

Tcpdump安装介绍

在Linux操作系统中安装tcpdump,你可以通过以下步骤进行:

  1. **打开终端:**在Linux系统中,你可以通过点击终端图标或使用快捷键(通常是Ctrl+Alt+T)来打开终端。

  2. **使用包管理器安装tcpdump:**根据你的Linux发行版,选择对应的包管理器来安装tcpdump。以下是一些常见的发行版和对应的包管理器:

  • Ubuntu/Debian:使用apt-get命令安装。在终端中输入以下命令并按回车键:

    sudo apt-get update``sudo apt-get install tcpdump
    
  • CentOS/Fedora:使用yum命令安装。在终端中输入以下命令并按回车键:

    sudo yum update``sudo yum install tcpdump
    

‍* Arch Linux:使用pacman命令安装。在终端中输入以下命令并按回车键:

```
sudo pacman -Sy tcpdump
```

请注意,安装过程中可能需要输入管理员密码进行确认。
  1. **等待安装完成:**安装过程可能需要一些时间,系统会自动下载并安装tcpdump及其依赖包。

  2. **验证安装:**安装完成后,你可以通过在终端中输入以下命令来验证安装是否成功:

    tcpdump --version
    

如果输出tcpdump的版本信息,则说明安装成功。

这样,你就成功在Linux操作系统中安装了tcpdump。接下来,你可以使用tcpdump命令来捕获和分析网络数据包了。记得在使用tcpdump时,可能需要使用sudo或以root用户身份运行,以便获取足够的权限来捕获数据包。

Tcpdump基本用法

通过命令:tcpdump -help,可查看tcpdump工具命令选项:

Tcpdump的基本命令格式是:  tcpdump [选项] [表达式]

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

-A:以ASCII码格式打印出所有数据包,并将链路层的头部最小化

-B:用于设置操作系统捕捉缓冲大小

-c:指定抓取数据包的数量

-C:此选项用于配合-w选项使用,如果保存文件大小超过阈值则关闭当前文件,并启用新文件继续保存数据(分多个固定大小的文件保存抓包数据,利于长期抓包的场景)

-d  将匹配到的数据包以人们能够理解的汇编格式输出

-dd:以C语言的形式打印出包匹配码.

-ddd:以十进制数的形式打印出包匹配码

-D:打印系统中所有支持抓包的网络接口

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

-E:解密IPsec ESP分组。具体来说,它使用spi@ipaddr algo:secret的格式来解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。这样,tcpdump可以捕获并显示经过IPsec加密的数据包内容,帮助用户更好地分析和理解网络流量

-f :将外部的因特网地址以数字的形式打印出来

-F:使用file文件作为过滤条件表达式的输入

-i:指定监听网络接口

-l:对标准输出进行行缓冲

-L:列出指定网络接口所支持的数据链路层的类型后退出

-m:通过module 指定的file 装载SMI MIB 模块

-n:不把网络地址转换成名称,即直接显示IP地址而不是主机名

-N:不打印出host 的域名部分

-nn:不进行端口名称的转换

-O:不启用进行包匹配时所用的优化代码

-p:不让网络接口进入混杂模式

-q:快速简短打印输出

-R:设定tcpdump 对 ESP/AH 数据包的解析按照 RFC1825而不是RFC1829

-r:从文件file 中读取包数据

-s:数据包抓取长度,如果不设置默认将会是68字节

-S:打印TCP 数据包的顺序号时, 使用绝对的顺序号, 而不是相对的顺序号

-t:在每行输出中不打印时间戳

-tt:不对每行输出的时间进行格式处理

-ttt:tcpdump 输出时, 每两行打印之间会延迟一个段时间(以毫秒为单位)

-tttt:在每行打印的时间戳之前添加日期的打印

-u:打印出未加密的NFS句柄

-U:使得当tcpdump在使用-w 选项时, 其文件写入与包的保存同步

-v:分析和打印产生详细的输出

-vv:产生比-v更详细的输出

-vvv:产生比-vv更详细的输出

-w:把包数据直接写入文件而不进行分析和打印输出

-W:设置输出文件的最大数目

-x:以十六进制的形式打印每个数据包的头部数据,但是不包括数据链路层的头部

-xx:以十六进制的形式打印每个数据包的头部数据,并且包括数据链路层的头部

-X:以ASCII码格式显示输出,但是不包括数据链路层的头部

-XX:以ASCII码格式显示输出,并且包括数据链路层的头部

-y:只捕获数据链路层协议类型是datalinktype的数据包

Tcpdump常见捕获方式

**【默认启动】
**

tcpdump监视系统第一个网络接口上所有流过的数据包。

tcpdump

【抓取网卡eth0】

抓取网卡eth0上所有报文

tcpdump -i eth0

【抓取指定MAC】

抓取ath10接口上包含MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcap ether host 11:22:33:44:55:66

抓取ath10接口上源MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcap ether src 11:22:33:44:55:66

抓取ath10接口上目的MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcap ether dst 11:22:33:44:55:66

【抓取指定的主机】

抓取eth0网卡上IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'host 192.168.1.2'

抓取eth0网卡上源IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'src host 192.168.1.2'

抓取eth0网卡上目的IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

【抓取指定端口】

抓取eth0网卡上端口号为80的所有报文

tcpdump -i eth0 -nnA 'port 80'

【抓取指定主机和端口】

抓取eth0网卡上IP为192.168.1.2且端口号为80的所有报文

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

【抓取除某个端口外的其它端口】

排除某个端口或者主机可以使用“!”符号,上例表示监听非22端口的数据包。

tcpdump -i eth0 -nnA '!port 22'

【协议过滤】

可过滤ip6、arp、icmp、tcp、udp、igmp等协议

tcpdump –i ath10 –w ath10.pcap tcp and ether host 88:bf:e4:fc:26:19

该命令可以抓取ath10接口上包含MAC地址为88:bf:e4:fc:26:19的tcp数据包,保存于ath10.pcap文件中。

【组合过滤】

过滤规则可以通过逻辑运算符组合使用,注意协议的预过滤规则要放在第一位。

tcpdump –i eth0 –w eth0.pcap tcp and src ‘(192.168.96.54 or 192.168.96.7)’

该命令可以抓取eth0接口上源地址为192.168.96.54及192.168.96.7的tcp数据包,保存于eth0.pcap文件中。注:小括号 () 需与转义符 ’ 搭配使用。

注意事项:

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

  2. 使用tcpdump可能会遇到我们ctrl+c或者ctrl+z结束了抓包,但是tcpdump应用没有完全关闭的情况,此时会导致系统内存被占用较高导致出现异常。可使用ps | grep tcpdump过滤看是否有残留进程,若有则使用killall tcpdump命令将进程全部杀掉

  3. 使用tcpdump抓的pcap文件需要及时清除,避免文件一直放着占用内存。在tcpdump抓包的目录输入命令ls –la | grep pcap可过滤出所有的pcap文件并看到其占用的内存大小。输入 rm xxx.pcap可删除相关文件(xxx.pcap中的xxx为抓包文件的命名)。

网络安全学习资源分享:

最后给大家分享我自己学习的一份全套的网络安全学习资料,希望对想学习 网络安全的小伙伴们有帮助!

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套200G学习资源包免费分享!

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取技术文档】

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取书籍】

在这里插入图片描述

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

在这里插入图片描述

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值