0%

现在是2020年12月31号,23:33,还有不到半小时就要结束了。我坐在寝室的电脑前,听着《遥望2020》,时不时地暖暖手,想着在12点之前写点什么东西。 写点什么呢?遥望2020,对于我自己而言,好像也没什么值得写下来的。似乎和去年一样,又似乎潜移默化地发生了什么变化。不过,我倒是愈发认清了自己是个普通人的事实,认清了自己不成熟的事实,而不是像之前一样洋洋自得地活在自己创造的假象中。 2020是魔幻的一年,发生了太多事情。年初的疫情改变了很多,让我有了史上最长假期,让我有了另一个能长时间陪伴家人的机会。 希望在明年的这个时候,回望2021,我会骄傲地说出我真正做了什么有意思,有意义的
阅读全文 »

0x00 关于公钥密码学 公钥密码体制 VS 对称密码体制 之前学到的加密方案(如AES、DES)均属于对称密码体制,也就是说加密过程与解密过程使用的是同一个密钥\(K\)。这样的特性使得对称密码体制在使用中存在一定的不便与漏洞:Alice(加密者)与Bob(解密者)必须在使用密钥前通过一种保险的手段就密钥\(K\)达成共识。如果共识协商的过程不够安全,就可能会导致密钥\(K\)泄露,进而导致后续的加密信息泄露。而且这里存在一个悖论:如果我们可以找到一种绝对安全的传递密钥\(K\)的方法,为什么不可以仅通过这种方法来传递所有要加密的消息呢? 对于对称密码体制中存在的安全问题,公钥密码体制的想
阅读全文 »

Exercise 7 1 2 3 Exercise 7. Use QEMU and GDB to trace into the JOS kernel and stop at the movl %eax, %cr0. Examine memory at 0x00100000 and at 0xf0100000. Now, single step over that instruction using the stepi GDB command. Again, examine memory at 0x00100000 and at 0xf0100000. Make sure you under
阅读全文 »

0x00 前言 借着移动网络安全这门公选课的契机开始学习网络安全(我一个网络安全专业的学生竟然从公选课才能学习到专业知识QAQ),先从最基本的ARP欺骗学起吧。 0x01 ARP协议是干什么的 Address Resolution Protocol(地址解析协议),用来将IP地址转换为MAC地址,使网络适配器可以根据数据报报头的IP地址填入MAC地址,从而完成帧的封装与发送。 那么ARP是如何得知某个IP地址对应的MAC地址呢?当然是询问了。当一台主机想要与另一台主机通信却发现不知道对方的MAC地址时,就要发送一个ARP REQUEST的广播帧,向整个局域网中的主机询问。 image-2
阅读全文 »

今天写一点与技术无关的东西。虽然技术相关的东西也没写什么。 今晚看完了林沛满的《Wireshark网络分析就这么简单》一书。这是我第一次发现一本技术书可以写得如此行云流水,把枯燥难懂的技术讲得好像探案过程一般。作者对工具自如的运用与理解让我惊叹不已。 我最近常常在想,以后的路怎么走?要向哪个方向去发展?搞研究还是当工程师?技能树应该怎么点?作者的话给我了一些启示与指点。 在这个内卷程度极高的大学学习环境中,我卷得并不算成功。一方面归因于自己太着急,在强压环境中想掌握所有别人涉及的方面,以此来获得优势,又没有与野心匹配的智慧,结果最后样样不精;另一方面则是性格原因。成功的内卷者需要有与之匹
阅读全文 »

前言 这学期在上操作系统的课程,在进程相关的部分接触到了context-switch这个概念。context-switch很好理解,但是这个过程是由谁来执行的呢?当我暗自得意自以为得知正确答案(TSS)的时候,被老师光速打脸(PCB)。当我去Intel开发者手册再次确认之后与dalao讨论,结果再次被打脸决定好好搞清楚这个问题(还是tclOrz)。 TSS是什么 我最早接触到相关的概念是在Linux 内核完全剖析这本书中,书中内核的运行环境是Intel 8086处理器,因此存在大量的相关硬件知识,其中就有TSS,Task Register,Task-gate Descriptor等等。其实就
阅读全文 »

创建/删除套接字 socket 1 2 #include int socket(int domain, int type, int protocol); socket()函数用来创建一个套接字。 返回一个指向该套接字的非负的套接字描述符,若失败则返回-1。 其参数: - domain:指定协议族,我们这里只关注两种,即AF_INET(IPV4)和AF_INET6(IPV6),其中AF可替换为PF - type:指定套接字类型,我们这里关注两种: - SOCK_STREAM:Provides sequenced, reliable, two-way conn
阅读全文 »

前言 昨天刷知乎看到一个有意思的问题,大意是 >C++STL中 vector的push_back()扩容机制为什么不考虑使用C语言的自带函数realloc()实现? 对于一个手动实现过vector的人 (抄的),还是对vector有一定了解的。vector的内存管理使用的是STL中的allocator,而其一种扩容机制是当size > capacity时vector通过allocator申请大小为2*capacity的空间,并将当前数据拷贝到新申请的空间中。说来惭愧,我一直对malloc()家族的实现没有深入了解过,那就现查一下。 Reallocate memory block 1 v
阅读全文 »

overview interrupt and exception :OS/processor/present task trigger an event which need to be processed by the processor. I/E is used to represent interrupt/exception in the following contents more accurate definition: >- An interrupt is an asynchronous event that is typically triggered by an I/O de
阅读全文 »

URL 统一资源定位符(Uniform Resource Locator) 俗称网页地址、网址,是因特网上标准的资源的地址。 它通常被用来指向网页(http),但也用于文件传输(ftp)、邮件(maito)、数据库访问(JDBC)和许多其他应用。 URL、URI、URN URL(定位符)和URN(名称)方案属于URI的子类,URI可以为URL或URN两者之一或同时是URI和URN。 统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。 语法 HTTP URL 满足一般 URI 的语法。一般URI
阅读全文 »