编程小结
文章平均质量分 89
zy627836411
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
展开
-
编程小结(1)
2017/3/17 char *strchr(const char *s, int c); char *strrchr(const char *s, int c); #include 函数说明: strchr:查找字符串s中第一次出现字符c的位置,并返回该字符以及该字符之后所有的字符 strrchr:查找字符串S中最后一次出现字符c的位置,同时原创 2017-03-17 15:17:10 · 307 阅读 · 0 评论 -
网络安全开发系列--笔记(1)
网络安全技术 1.数据包捕获技术操作系统提供的数据包捕获技术主要存在三种: SOCK_PACKET类型套接口:利用操作系统提供的编程接口来实现 数据链路提供者接口DLPI: 伯克利数据包过滤(BPF):高效数据包捕获技术,工作操作系统内核层 2.网络协议分析三个内容 捕获数据包:使用专业的捕获数据包的开发包。例如Libpcap和Winpcap 过滤...原创 2018-11-05 16:56:08 · 1592 阅读 · 0 评论 -
linux 网络编程---域名解析
引入我的代码片: #include #include #include #include #include #include int main(int argc,char **argv) { struct hostent *host; char **p; char src[32]; if(argc<2) { printf("Pleasee intput addr:(like w原创 2017-05-09 15:42:12 · 210 阅读 · 0 评论 -
libpcap编程(7)最后一篇
前面针对libpcap的编程可信部分已经记录的差不多了,这里进行最后一个部分的总结。协议分析,主要是以一个以太网协议作为因子,后期别的协议采用同样的方式。层层深入分析。 源代码程序: #include #include #include #include #include #include #include #include #include #include int原创 2017-04-13 16:11:38 · 301 阅读 · 0 评论 -
Libpcap编程(6)
上篇文章中针对libpcap进行了理论总结,以及部分函数和结构的介绍,这里就整个数据包抓包由浅到深进行分析。 获取网络接口名字和掩码信息 #include #include #include//in_addr头文件 int main(int argc,char **argv) { char error[PCAP_ERRBUF_SIZE];//#define PCAP_ERRBU原创 2017-04-13 09:24:24 · 457 阅读 · 0 评论 -
Libpcap编程(5)理论总结
前几篇文章分析和改写了libpcap编程的源代码,对libpcap有了一个初步的大致的了解。为了坚持一贯的理论与实际相结合的原则,这篇博文将进行一些理论性的总结和描述。 网络数据包捕获技术 操作系统提供的捕获机制主要有三种:SOCK_PACKET类型接口、DLPI、BPF。这里对这三种捕获技术简单介绍。 SOCK_PACKET:Linux套接字类型中提供的一种SO原创 2017-04-13 08:33:56 · 818 阅读 · 0 评论 -
libpcap编程<4>
在上面几篇文章里介绍了libpcap编程中的几个关键的地方,这里就编程的几个关键函数进行总结。 pcap_looupdev() #include char errbuf[PCAP_ERRBUF_SIZE]; char *pcap_lookupdev(char *errbuf); 该函数用于查找可用的网络设备,返回可以被pcap_open_live()函数调用的网络设备原创 2017-04-12 14:40:48 · 470 阅读 · 0 评论 -
libcap编程(3)
第一篇博文里面有一点有遗漏就是使用libpcap库需要在编译程序的时候加上-lpcap原创 2017-04-11 16:19:21 · 1045 阅读 · 0 评论 -
libpcap编程(2)DPDK下的数据包捕获
DPDK和libpcap的结合 最近阅读DPDK刚好阅读到libret_pdump库,该库类似于libpcap提供一个数据包捕获的框架,并在dpdp目录的app/pdump下提供了一个根据该库开发的数据包捕获程序。该库将Rx和Txmbufs的完整副本复制到新的mempool中,因为涉及到数据包的复制,会降低应用程序的性能,所以官方文档建议是用于调试使用。 该库提供一系列API初始化数据包的捕获原创 2017-04-11 15:34:46 · 4956 阅读 · 1 评论 -
libpcap编程(1)
libpcap是访问操作系统提供的分组捕获机制的分组捕获函数库,与实现无关,《unix网络编程》(卷一)进行了简单的介绍,为了深入libpcap编程,这里准备由浅入深进行学习。一方面工具c语言编程一方面加深对网络的理解。 对于libpcap的介绍可以去官方查看http://www.tcpdump.org/里有很详细的介绍。 所有的plibcap库函数均是用pcap_开头,使用头文件就可以使用这原创 2017-04-10 16:54:37 · 591 阅读 · 1 评论 -
进程间通信(信号)
linux系统进程间通信有很多种方式:较多使用的有信号,管道以及System VIPC。各种通信方式各有优缺点。这部分主要就进程间通信方式进行总结。 1 信号。 信号进行进程间通信方式有一点需要明确:信号只能通知,不能在进程间共享数据资源。也就是说信号仅仅是告诉你一下某个事情发生了。而我们的程序则可以对这个信号进行各种我们自定义或者默认的处理,更或者当做没有听见。 那么既然是通知一件事情发生原创 2017-04-01 10:42:44 · 279 阅读 · 0 评论 -
网卡数据捕获
这部分代码用于从链路层抓取数据并简单显示,目前为第一个版本,后期还会进一步完善。 编译 gcc -o file file.c 执行:./file -a eth0 |-b -a eth0:为将网卡etho设置为混杂模式 -b 为轮询抓取数据。 #include #include #include #include #include #include #include #原创 2017-03-31 17:50:08 · 1346 阅读 · 0 评论 -
Linux下库的概念
Linux下库的概念 静态库和共享库 静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。 注:静态库是在链接的时候复制到可执行文件中,则说明静态库是在文件执行前以嵌入的方式放置到可执行文件里面构成可执行文件的一部分。这样的好处是提高了程序的执行效率(速度原创 2017-03-20 14:39:01 · 424 阅读 · 0 评论 -
编程小结(2)
dup和dup2函数(作为文件重定向) int dup(int oldfd); int dup2(int oldfd, int newfd); #include int dup3(int oldfd, int newfd, int flags); #include #include dup创建原创 2017-03-20 08:51:36 · 248 阅读 · 0 评论 -
编程小结
该部分内容我打算做一个系列,并在主目录中记录相关条目并链接到相关的各个分支中(相当于目录结构)。并且会在部分的文章中写一些编程中的技巧以及编程中的注意事项。 函数处理: strchr()、strrchr()原创 2017-03-17 15:23:58 · 367 阅读 · 0 评论 -
网络安全编程——网络接口信息获取(1)
一、网络接口信息获取 1.1 获取网络接口信息 本代码来源于《网络安全开发包详解》部分地方做了修改。 编译方式:(懒人编译法) gcc 1_1.c-lpcap生成a.out可执行文件使用命令:./a.out执行。 与书上不同的地方: 1)用inet_ntoa()函数需要使用头文件<arpa/int.h>。如果不加入该头文件,编译过程中会发现该函数未定义的警告。 ...原创 2019-08-20 09:24:09 · 871 阅读 · 0 评论