#include "unp.h"
int main(int argc,char **argv){
int sockfd.n;
char recvline[MAXLINE + 1];
struct sockaddr_in servaddr;
if(argc != 2 )
err_quit("usage:a.out<IP address>");
if((sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0)
err_sys("socket error");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(13);
if( inet_pton(AF_INET,argv[1],&servaddr.sin_addr) <= 0)
err_quit("inet_pton error for %s",argv[1]);
if( connect(sockfd,(SA *) &servaddr,sizeof(servaddr)) < 0)
err_sys("connect error");
while( (n = read(sockfd,recvline,MAXLINE)) > 0){
recvline[n] = 0;
if(fputs(recvline,stdout) == EOF)
err_sys("fputs error");
}
if(n<0)
err_sys("read error");
exit(0);
}

open systems interconnection OSI模型


netstat -ni 显示网络接口
netstat -r 路由表信息
ifconfig 输出IP地址信息
POSIX可移植的操作系统
ILP32 int long pointer 32位
