摘要:
选修了一门信息安全专业的课,做了个实验,是实现网络抓包的功能:代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<netinet/ip_icmp.h>#include<netinet/tcp.h>#include<netinet/udp.h>#include<arpa/inet.h>#include<sys/socket.h>#include<sys/types.h>#define BUFFSIZE 102 阅读全文
摘要:
一:首先我们先看下C程序的部分组成及存储位置:1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。4)栈——增长方向:自顶向下增长;自动变量以及每次函数调用时所需要保存的信息(返回地址;环境信息)。5)堆——动态存储分。二:下面我们分别从static修饰于全局变量、局部变量、函数的作用。1.全局静态变量在全局变量之前加上关键字static,全局变量就被定义成为一个全局静态变量:1)内存 阅读全文
摘要:
下午正上课呢突然接到021的电话,寻思着肯定是哪公司打来的,果断跑出去接了!果然被我猜对了,对方说是Intel的HR,PS声音挺好听的,问方不方便电话面试,这个。。。太突然了,我可是一点都没准备。 我就对她说实话了,说等下课打过来。 下课没几分钟就再次接到了电话,HR小姐先问了问学校情况:什么时候可以实习、大概能多长时间。下面就转正题了,问了几个关于C和linux的问题: 1:说下C中的static作用(分别从局部变量、全局变量、函数三方面讲) 2:C中的volatile变量的作用 3:如何利用objdump调试被hang的程序 4:内核编译、安装的过程 5:... 阅读全文
摘要:
郑厂长系列故事——体检TimeLimit:1.0SecondsMemoryLimit:32768K郑厂长不是正厂长也不是副厂长他根本就不是厂长只是公司的一个码农郑厂长所在的腾讯公司每一年都要组织员工体检,比如量身高体重、测血压之类的,今年也不例外。这次总共有N位员工接受体检,并且每个员工都需要做K个项目的检查才算完成整个体检的流程。现在来了M个医生为员工做身体检查,并且每一位医生都带齐了检查这K个项目的器材来(也就是说每个医生都能进行这K个项目中的任意一项检查)。体检的详细流程是这样的:公司事先制定好了M份体检单,每个医生手上都各自拿到一份体检单,上面已经安排好了检查的次序,以及每一次检查所对 阅读全文
摘要:
小Q系列故事——屌丝的逆袭Time Limit : 300/100ms (Java/Other)Memory Limit : 65535/32768K (Java/Other)Problem Description 毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话! 谁又能想到,如此不起眼的小Q在历经重重面试环节后,竟然如愿以偿加入了心仪已久的腾讯公司!消息刚刚传开的那几天,这在他们班甚至整个学院都是讨论的热门话题,如果这时候你还表示不知道小Q是谁,你都会被大家当作怪物的。 正所谓... 阅读全文
摘要:
一:套接字编程相关知识点Socket概念:套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机进行,也可以跨网络进行。网络中的进程是通过socket来通信的。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。Socket基本操作:Socket编程的基本函数有:socket(),bind(),ac 阅读全文