随笔分类 -  linux c 网络编程

ARP 扫描主机学习笔记
摘要:1.通用套接字地址结构与具体套接字地址结构之间可相互转化 1)通用转具体,某些函数将结果存储在通用套接字地址结构中,这时将通用转换为具体,具体通过访问成员名可以方便的得到结果。 2)具体转通用,为了消除不同具体的地址结构之间的差异,多发生在传递参数的时候 2.mac地址不需要进行大小端转化,构造ma 阅读全文
posted @ 2016-11-22 20:50 adelep 阅读(84) 评论(0) 推荐(0)
套接字
摘要:1.套接字类型与地址族之间是多对多的关系 2.套接字地址结构与地址族有关,而与套接字类型无关。 阅读全文
posted @ 2016-11-17 14:17 adelep 阅读(88) 评论(0) 推荐(0)
套接字网络编程学习笔记
摘要:1.发送方需要调用htons()或htonl()对发送的数据转序,接收方在从套接字缓冲区中读取数据之后,要调用ntohs()函数或ntohl()对接收到的数据进行转序,字符型数据除外,因为字符占一个字节,字节序指的是多字节数据的存储或发送顺序。 2.tcp程序的端口号与udp程序的端口号是独立的,比 阅读全文
posted @ 2016-11-14 16:54 adelep 阅读(192) 评论(0) 推荐(0)
linux c网络编程之函数
摘要:1. struct protoent *protocol=getprotobyname(char *p); 功能:通过协议名获取协议类型信息 解释:p为字符串指针,指向一个协议名,如icmp,struct protoent及函数在<netdb.h>中定义,protocol->p_proto为协议类型 阅读全文
posted @ 2016-11-12 15:27 adelep 阅读(195) 评论(0) 推荐(0)
校验和函数
摘要:static int icmp_cksum(unsigned char *data, int len) { int nleft = len; uint16_t *data_tmp = (uint16_t *)data; int sum = 0; uint16_t tmp = 0; while(nle 阅读全文
posted @ 2016-11-12 10:29 adelep 阅读(667) 评论(0) 推荐(0)
icmp_ping学习笔记
摘要:1.用字符串指针做为发送缓冲区和接收缓冲区的指针; 2.icmp报文类型结构体可自行定义,也可用<netinet/ip_icmp.h>中定义好的strcut icmp结构体; 3.ip_hl*4表示ip头部长度; 4.剥离头部的含义:让数据部分的指针指向数据部分,找到数据部分所在的内存地址; 5.原 阅读全文
posted @ 2016-11-12 10:27 adelep 阅读(134) 评论(0) 推荐(0)