在当今数字化时代,网络安全越来越被重视,因此网络监控技术也随之发展。Linux系统下的网络嗅探工具如TCPDump和Parket是网络监控领域的佼佼者,被广泛运用于网络安全实践、网络管理与调试工作。本文将为大家详细介绍TCPDump和Parket的使用方法以及常见应用场景,帮助读者更好地掌握这一无所不在的监控利器。
tcpdump – 转储网络上的数据流
是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpdump:
通俗的来说,tcpdump是一个抓包工具,用于抓取网络中传输的数据包
形象的来说,tcpdump如同国家海关,凡是入境和出境的货物,海关都要抽样检查,看看里面具体是什么货物
学术的来说,tcpdump是一种Sniffer(嗅探器),利用以太网的特性,通过将网络设备置于混杂模式来获取传输在网络中的信息包
命令作用
该命令支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。经典的系统管理员分析工具!
常用关键字
tcpdump命令中几种关键字:
第一种:类型关键字,包括:host,net,port
第二种:传输方向关键字,包括:src,dst
第三种:协议关键字,包括: ip,arp,tcp,udp等类型
第四种:其他关键字,包括:gateway,broadcast,less,greater,not,!,and,&&,or,||
备注说明
\1) 抓取回环网口的包:
$ tcpdump -i lo
\2) 防止包截断的方法:
$ tcpdump -s 0
\3) 以数字显示主机及端口:
$ tcpdump -n
命令浅解
$ tcpdump tcp -i eth1 -t -s0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
1)tcp: # ip,icmp,arp,rarp,udp这些选项要放第一个参数,用来过滤数据报的类型
2)-i eth1 # 只抓经过网口eth1的包
3)-t # 不显示时间戳
4)-s 0 # 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
5)-c 100 # 只抓取100个数据包
6)dst port ! 22 # 不抓取目标端口是22的数据包
7)src net 192.168.1.0/24 # 数据包的源网络地址为192.168.1.0/24
8)-w ./target.cap # 保存成cap文件,方便用wireshark工具进行分析
其它命令
$ tcpdump host 192.168.0.1 and /(192.168.0.2 or 192.168.0.3 /)
# 截取主机1与主机2或3之间的通信包
$ tcpdump ip host 192.168.0.1 and ! 192.168.0.2
# 截取主机1除了和主机2之外所有主机通信的ip包
$ tcpdump tcp port 23 host 210.27.48.1
# 截取主机192.168.0.1接收或发出的telnet包
$ tcpdump -i eth0 host ! 192.168.0.1 and ! 192.168.0.2 and dst port 80
# 截获除了主机1、2外访问本机http端口的数据包
网络嗅探技术虽然在某些场合下存在争议,但无可否认的是,它是网络监控领域中必不可少的一种手段。通过TCPDump和Parket等网络嗅探工具,管理员能够快速发现网络中存在的风险、定位网络瓶颈并做出针对性调整。本文为大家详细介绍了这两种工具的使用方法和应用场景,期待能够帮助读者更好地使用它们来保障网络安全和稳定性。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !