TCPIPLinux2 Telnet FTP SMTP DNS SNMP RIP ICMP Slides: 21 Download presentation TCP/IP和Linux网络简介-2 Telnet FTP SMTP DNS SNMP 应用层 表示层 RIP 传输控制协议 用户数据报协议 ICMP 会话层 传输层 ARP 网际互联协议 网络层 数据链路层 物理层 Chavezwang@gmail. com Ethernet Token bus Token ring IEE 802. 3 IEE 802. 4 嵌入式研究室计算机学院嵌入式研究室 FDDI IEE 802. 5 ANSIX 3 T 95 44 套接口编程基础-3 n 第二步进行绑定,将一个进程与一个套接口联系 起来 bind(int socket, struct sockaddr *my_addr, int my_addr_length) q q 第一个参数是socket函数的返回的套接口值。 第二个参数是sockaddr地址,如下定义: Struct sockaddr{ unsigned short sa_family; //AF_UNIX, AF_INET, AF_IPX char sa_data[14]; }; q 接口sockaddr必须被分配并作为第二个参数传递给函 数bind Chavezwang@gmail. com 嵌入式研究室计算机学院嵌入式研究室 11 套接口编程基础-9 n n 客户端的例子 对结构体sockaddr_in的数据pin赋值 bzero(&pin, sizeof(pin)); Pin. sin_family=AF_INET; Pin. sin_addr. s_addr=htonl(INADDR_ANY) Pin. sin_addr. s_addr=((struct in_addr *)(server_host_name->addr))->s_addr; Pin. sin_port=htons(port); Socket_descriptor=socket(AF_INET, SOCK_STREAM, 0); Connect(socket_descriptor, (void *)&pin, sizeof(pin)); Send(socket_descriptor, strlen(str), 0) Close(socket_descriptor); Chavezwang@gmail. com 嵌入式研究室计算机学院嵌入式研究室 17 创建结构体 struct sockaddr_in sin; struct sockaddr_in pin; int sock_descriptor; int temp_sock_descriptor; int address_size; n 定义套接口描述字: sock_descriptor = socket(AF_INET, SOCK_STREAM, 0); n 填写结构sockaddr_in 必要的域sin: bzero(&sin, sizeof(sin)); sin_family=AF_INET; sin_addr. s_addr=INADDR_ANY; sin_port=htons(8000); //使用端口 8000 n 使用函数bind将套接口与端口 8000连在一起 bind(sock_descriptor, (struct sockaddr *)&sin, sizeof(sin)); n 监听连接到 8000端口的新套接字 listen(sock_descriptor, 20); //容纳 20个连接的队列 n n 客户机的例子程序 Snmp vs smtpFtp, telnet belongs to which layer in edi architecture?Difference mib and mbFtp and smtpItss nwcgFacebookFtp dnsReverse telnet cisco aux to consoleRemote login telnetFile transfer telnetTelnet enumerationTelnet adalahSsh packet formatTelnet imapTelnetTelnet protocolTelnet backdoorAutoit telnetTelnet bbsTelnet cis.poly.edu 80Rfc 854Telnet gaia.cs.umass.edu 80