Tcpdump抓包

Tcpdump抓包

tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump的使用能够帮助我们分析、调试网络数据。但是要想很好地掌握tcpdump, 就必须对网络报文(TCP/IP协议)有一定的了解。不过对于简单的使用来说,只要有网络基础概念就行了。

作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。在实际工作中,需要以root权限去执行该命令。

一、常用命令选项

-e #在输出行打印出数据链路层的头部信息
-c #指定收取数据包的次数,即在收到指定数量的数据包后退出tcpdump
-f #将外部的Internet地址以数字的形式打印出来,即不显示主机名
-i #指定监听网络接口
-n #不把网络地址转换为名字
-nn #进行ip和端口名称的转换,一个n不要ip解析到域名,不要端口解析到协议,有时候会很慢
-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕
-r #从指定的文件中读取数据,一般是-w保存的文件
-s #从每个组中读取在开始的snaplen个字节,而不是默认的68个字节,68字节不适用与ip,icmp,tcp协议
-v #输出稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv#输出详细的报文信息

二、安装tcpdump工具

[root@tcpdump-server ~]# yum install -y tcpdump

实验环境

1.准备两台机器
192.168.80.128 ----tcpdump-server
192.168.80.129 ----test-server
2.两台机器均关闭防火墙和selinux

监视指定网络接口的数据包

[root@tcpdump-server ~]# tcpdump -i ens33

监听网卡端口为80的应用发出和接收的所有http协议包

[root@tcpdump-server ~]# tcpdump -i ens33  port 80
[root@test-server ~]# curl http://192.168.80.128   #测试

监视ens33网卡上源地址192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 src 192.168.80.129
[root@test-server ~]# ssh 192.168.80.128 #测试

监视ens33网卡上目的地址是192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 dst 192.168.80.129

抓取所有经过 ens33,目的或源地址是 192.168.80.129 的网络数据:

[root@tcpdump-server ~]# tcpdump -i ens33 host 192.168.80.129

两台机器同时操作

[root@tcpdump-server ~]# ip a  #查看自己网卡
抓来自192.168.80.129这台机器的imcp协议的包
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
[root@test-server ~]# ping -c 1 192.168.80.128 #ping tcpdump的机器一次
PING 192.168.80.128 (192.168.80.128) 56(84) bytes of data.
64 bytes from 192.168.80.128: icmp_seq=1 ttl=64 time=0.751 ms

--- 192.168.80.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.751/0.751/0.751/0.000 ms
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
00:55:58.756161 IP (tos 0x0, ttl 64, id 33221, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.80.129 > 192.168.80.128: ICMP echo request, id 1139, seq 1, length 64
00:55:58.756254 IP (tos 0x0, ttl 64, id 11681, offset 0, flags [none], proto ICMP (1), length 84)
    192.168.80.128 > 192.168.80.129: ICMP echo reply, id 1139, seq 1, length 64

echo request :请求包
echo reply:回复包
tos:服务类型:0x0表示正常的数据包,

实验二抓一个tcp的包–全部在文本模式下操作

[root@tcpdump-server ~]# yum install -y epel*  扩展源
[root@tcpdump-server ~]# yum install -y nginx
[root@tcpdump-server ~]# systemctl start nginx
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值