摘要:
基础理论知识提要: 链路层 整个数据帧由首部、数据和尾部三部分组成,首部固定为14个字节,包含了目标MAC地址、源MAC地址和类型;数据最短为46个字节,最长为1500个字节,如果需要传输的数据很长,就必须分割成多个帧进行发送;尾部固定为4个字节,表示数据帧校验序列,用于确定数据包在传输过程中是否损 阅读全文
摘要:
我们依然从start_kernel说起,它最后会执行: arch_call_rest_init() --> rest_init() --> Kernel_init() --> Kernei_init_freeable() --> do_basic_setup() --> do_initcalls() 阅读全文
摘要:
本文将Socket API编程接口、系统调用机制及内核中系统调用相关源代码、 socket相关系统调用的内核处理函数结合起来分析,并在X86 64环境下Linux5.0以上的内核中进一步跟踪验证。 1. 系统调用的初始化 在加电启动BootLoader运行后,BootLoader对硬件初始化并把内核 阅读全文
摘要:
主要步骤: 1.安装qemu模拟器 2.下载Linux源码并编译内核 3.制作根文件系统镜像 4.添加c/s方式的客户端程序进menu os中,使其成为menu os的一个命令 5.构建gdb环境 6.跟踪分析添加的命令执行过程对Linux内核发出的系统调用请求 7.初始化menu os的网络功能 阅读全文
摘要:
尝试着用Java编写一个网络聊天程序,发现总不如网上写的好,所以就直接引用了网上大神的优秀代码。代码如下: 1 package project1; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 import java.io.*; 6 impo 阅读全文
摘要:
在学习ping命令的时候,突发奇想:为何不使用ping命令对网络连接故障进行排查? 具体思路: 1. ping 127.0.0.1 (虚拟网卡地址)以检查主机的TCP/IP协议栈是否正常。 2. ping [网络号] 以广播的形式向局域网发送数据包,检查主机网卡、modem、路由器(网关)是否正常。 阅读全文