unix 网络编程之初体验

时间:2021-01-13 21:52:04

1.首先从www.unpbook.com下载最新的source code "unpv13e". unp意思是“Unix Network Program”, v1表示第一卷,3e表示第三版。

2.解压并阅读README,照里边的操作一步步执行即可搭建好编译环境。

    如下:

    ./configure    # try to figure out all implementation differences

    cd lib         # build the basic library that all programs need
    make           # use "gmake" everywhere on BSD/OS systems

    cd ../libfree  # continue building the basic library
    make

    cd ../intro    # build and test a basic client program
    make daytimetcpcli
    ./daytimetcpcli 127.0.0.1

3.执行./daytimetcpcli 127.0.0.1 返回"Request confused". 通过netstate -ant 查看没有13即daytime服务端口。

基维百科中对daytime协议的解释:

DAYTIME协议(英语:DAYTIME protocol)是一个在RFC 867内定义的网络传输协议。

主机可以用TCP或UDP端口 13连接支持DAYTIME协议的服务器。

服务器会以ASCII字符传回当时日期及时间。格式类似:星期,月 日,年 时区。

它也用作测试电脑网络的联通性,现在测试网络的方法已经转为用ping或traceroute。

DAYTIME协议在inetd上。

4.在ubuntu环境下需要在安装xinetd服务,执行apt-get install xinetd。

5.vim编辑/etc/xinetd.d/daytime文件,将disable = yes改为disable = no。
6.注销系统或重启xinetd服务,用service xinetd stop然后service xinetd start。

7.再次执行netate -ant 就可以看到daytime服务即端口13已在监听之中:

unix 网络编程之初体验

,8.再次执行./daytimetcpcli 127.0.0.1运行成功。