1.5.3 使用tcpdump观察ARP通信过程

本文介绍了如何在阿里云ECS服务器上开启echo服务,通过安装openbsd-inetd和xinetd,编辑配置文件并重启服务。然后在本地虚拟机上清除ARP缓存并使用tcpdump抓包工具观察ARP通信过程,解析了ARP请求和应答的数据包。实验展示了ARP的工作原理,即主机通过广播请求获取目标IP的物理地址。

使用tcpdump观察ARP通信过程


前言

本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)
本次实验是linux高性能服务器编程的第一个实验,目的在于了解ARP的运作过程
实验测试机是阿里云ECS服务器和本地虚拟机。不同于书本上,它的测试机是在同一局域网内。


开启服务机的echo服务

首先查看是否支持echo服务。/etc目录是Linux的配置目录,底下包含各种配置文件。这里的**/etc/service**文件记录了主机上可能用到的服务及常用端口号。

root@iZwz9e2t1qu6rzggq3tc0dZ:~# cat /etc/services | grep echo
echo		7/tcp
echo		7/udp
echo		4/ddp			# AppleTalk Echo Protocol

grep查找包含某字符串的行,前2行即echo服务,同时支持TCP和UDP。但是要查看系统上是否有该服务,得确认是否在对应端口上有监听套接字,因此用netstat命令,-l选项即listening,处于LISTEN(监听)状态的套接字,默认只会显示已连接的套接字。

root@iZwz9e2t1qu6rzggq3tc0dZ:~# netstat -l|grep echo 
root@iZwz9e2t1qu6rzggq3tc0dZ:~# 

可以看到没有echo进程监听,需要手动开启!

1. 安装openbsd-inetd

apt-get install openbsd-inetd

2. 打开/etc/initd.conf文件,按照注释中的示例添加echo服务

root@iZwz9e2t1qu6rzggq3tc0dZ:/# chmod u+w /etc/inetd.conf
root@iZwz9e2t1qu6rzggq3tc0dZ:/# vim /etc/inetd.conf

# /etc/inetd.conf:  see inetd(8) for further informations.
# 
# Internet superserver configuration database
#
#
# Lines starting with "#:LABEL:" or "#<of
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值