11 2016 档案
ARP 扫描主机学习笔记
摘要:1.通用套接字地址结构与具体套接字地址结构之间可相互转化 1)通用转具体,某些函数将结果存储在通用套接字地址结构中,这时将通用转换为具体,具体通过访问成员名可以方便的得到结果。 2)具体转通用,为了消除不同具体的地址结构之间的差异,多发生在传递参数的时候 2.mac地址不需要进行大小端转化,构造ma
阅读全文
TCP SYN扫描学习笔记
摘要:1.TCP SYN包扫描主机状态的原理:tcp协议规定,当目标主机收到一个tcp syn 包时,若目标主机处于开放状态,会返回给源主机一个tcp ack 包(目的端口开放),或者向源主机发送一个tcp rst包(目的端口未开放),源主机若收到tcp ack包或者tcp rst包则说明目标主机是开放的
阅读全文
函数的使用
摘要:1.atoi()函数 参数是一个指向数字型字符串的指针,返回数字型字符串对应的数字。int a=atoi(p); char *p="1234"; 那么a=1234; 2.read()函数:长度参数指的是希望读到的数据的长度,若不确定收到的数据的长度,可以把buff定义的比较大,第三个参数设置为buf
阅读全文
套接字网络编程学习笔记
摘要:1.发送方需要调用htons()或htonl()对发送的数据转序,接收方在从套接字缓冲区中读取数据之后,要调用ntohs()函数或ntohl()对接收到的数据进行转序,字符型数据除外,因为字符占一个字节,字节序指的是多字节数据的存储或发送顺序。 2.tcp程序的端口号与udp程序的端口号是独立的,比
阅读全文
linux c网络编程之函数
摘要:1. struct protoent *protocol=getprotobyname(char *p); 功能:通过协议名获取协议类型信息 解释:p为字符串指针,指向一个协议名,如icmp,struct protoent及函数在<netdb.h>中定义,protocol->p_proto为协议类型
阅读全文
校验和函数
摘要: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
阅读全文
icmp_ping学习笔记
摘要:1.用字符串指针做为发送缓冲区和接收缓冲区的指针; 2.icmp报文类型结构体可自行定义,也可用<netinet/ip_icmp.h>中定义好的strcut icmp结构体; 3.ip_hl*4表示ip头部长度; 4.剥离头部的含义:让数据部分的指针指向数据部分,找到数据部分所在的内存地址; 5.原
阅读全文
学习笔记
摘要:1.大小端对位域的影响 struct bit { int a :3 int b :4 int c :5 } 这么定义代表a为字节的高位,但实际存储时,内存不一定先为a分配存储空间,具体的情况与大小端有关,若为大端,则分配内存的顺序与定义的顺序相同,若为小端,则分配的顺序与定义的顺序相反 2.位数少的
阅读全文
浙公网安备 33010602011771号