图解Linux命令之--tcpdump命令

tcpdump命令-->用来将网络中传送的数据包的"头"完全截获下来提供分析,常见的有Wireshark


命令作用

该命令支持针对网络层、协议、主机、网络或端口的过滤,并提供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端口的数据包:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值