IP 地址或 MAC 地址都只能把数据传到正确的主机,若要将数据传到具体的进程里面只能通过端口来辨认。
传输层端口号分为两大类:
服务器端使用的端口号:系统端口号,0~1023,在 www.iana.org查到。
登记端口号:数值1024~49151,使用这类端口号必须在IANA按照规定的手续登记。
客户端使用的端口号: 短暂端口号,49152~65535,是留给客户进程选择暂时使用的,使用结束后,这类端口号会被放开以供其它程序使用。
常用的系统端口号:
使用 netstat -luant 命令列出了监听中的端口,各选项代表的含义可以使用 netstat --help 查看。
UDP(User Datagram Protocol)用户数据报协议,它在IP的基础上增加了复用分用以及差错检测的功能。UDP的特点有:
从应用层到传输层,再到网络层的各层次封装:
分析:
作业1:使用 tcpdump 抓取 UDP 数据报,解读报文,并截图。
首先先使用一下命令安装gcc:
sudo apt-get update
sudo apt-get install gcc
如果安装其间遇到无法获得锁这个问题,可以用命令移除它
sudo rm /var/cache/apt/archieves/lock
sudo rm /var/lib/dpkg/lock-frontend
接着使用命令进入自己建好的目录中:
进入指定的目录后,向指定 IP地址的指定端口发送一个指定内容的UDP数据报,这个程序已经编写好,依次输入以下命令,下载并编译:
这个 C 程序会向 IP 地址192.168.1.1的7777端口发送一条 "hello" 消息。
可以用编辑器修改程序,向不同的IP发送不同的内容。
编译完成后先别运行,这时先用tcpdump这个抓包工具,输入命令:
新开一个终端,输入以下命令运行刚才编译好的 C 程序 test:
test 程序运行结束,返回刚才运行 tcpdump 的终端查看抓包结果:
分析如下:一个数字代表4位,一个字节通常为8位,所以两个数字为一个字节。
-作业2:修改 C 程序,向不同的 IP、不同的端口发送不同的内容,截图抓包结果。
学习时间 433分钟
操作时间 98分钟
按键次数 2186次
实验次数 10次
报告字数 3644字
是否完成 完成