使用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

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

被折叠的 条评论
为什么被折叠?



