
网络
文章平均质量分 57
Slngen
这个作者很懒,什么都没留下…
展开
-
海明码 校验位数公式的理解
#问题设海明码的校验位数为,数据位数为,它们需满足一个位数公式最初看到公式时我感到很疑惑啊,百思不得其解,主要的问题是最后那个1哪来的。看着公式望了半天,一点头绪都没有,好脑袋不如烂笔头,于是我开始手写举例试着理解海明码的校验逻辑。不写不知道,一写吓一跳。写着写着就发现了,原来这个1来的如此妖娆。#引入(海明码原理介绍)我们先来复习一下二进制的划分,假设现在有七位二进制数据,用序号来指向。为什么选择七位呢?因为它们的序号刚好可以用三位二进制来表示。我们再来看看海明码的纠错原创 2021-04-15 13:48:59 · 5224 阅读 · 0 评论 -
Linux ARP请求组包工具 C语言socket
#说明本文是将Linux socket发送ARP请求包 C语言中的功能模块进一步编写成为了工具使得可以修改ARP请求包中的源IP地址、目标IP地址以及源MAC地址测试平台是kali#使用演示程序有两种输入模式,一种是包含源IP、目标IP、源MAC以及网卡设备名;另一种省略源AMC,即默认使用网卡真实MAC地址。输入模式1运行结果抓包结果输入模式2运行结果(MAC为网卡真实MAC)抓包结果#代码#include <stdio.h&原创 2021-02-18 12:34:52 · 1176 阅读 · 0 评论 -
Linux socket发送ARP请求包 C语言
#前言手动输入的参数有网卡名、源IP和目标IP,它们定义在#define中。如需调整其他ARP参数,只需对程序适当位置修改即可。本程序着重在于功能实现的学习,故没有考虑像制作成工具一样的编写,尽量保证代码简洁。程序基本分为三部分构造以太网帧头部构造ARP包内容构造sockaddr_ll地址结构其中以太网帧头部和ARP请求内容(也就是网络中传输的一个ARP包完整内容)共同存储在一个buffer中,构造好buffer之后通过socket发送出去即可。#代码实现#incl原创 2021-02-16 11:00:21 · 6052 阅读 · 2 评论 -
sockaddr_in的一个小理解
之前一直认为是sockaddr设计时有缺陷,在编写网络通信时,都使用sockaddr_in,因为它将sockaddr中的char sa_data[14]拆分为了unsigned short sin_port; // 2 bytesstruct in_addr sin_addr; // 4 byteschar sin_zero[8]; // 8 bytes zero这样就可以直观的获得IP地址和端口。最近在获取网卡等信息的时候,使用ioctl(原创 2021-02-14 19:30:35 · 655 阅读 · 0 评论 -
Shell脚本 利用ARP扫描网段在线主机
(脚本默认网段掩码为24,也没有参数检查等之类的功能)(不同平台命令语句会有差别,可能需要稍微修改,测试平台是Kali)#!/bin/bash## 保证参数个数正确if [ "$#" -ne 1 ];then ##"$#" 参数个数 ##[Int1 -ne Int2] 比较Int1和Int2值,不等为真 echo "参数错误:请使用 ./scan_arp.sh [interface]" ##scan_arp.sh是脚本文件名,这里仅仅是提示作用 echo "如./scan_arp.s原创 2021-02-02 15:06:16 · 1071 阅读 · 1 评论 -
PPP中的LCP(Link Control Protocol)
(内容整理自RFC1661,其中笔者觉得可能不精确的表达会用橙色贴出原文) 简介 LCP(Link Control Protocol),用于PPP的链路协商,PPP连接的建立就是从交换LCP报文开始的,LCP协商阶段所有非LCP报文都会被静默丢弃(silently discarded)。LCP功能涉及自动协商封装格式选项(automatically agree upon the encapsulation format options)、数据包大小限制、检测回环链路和配置错误以及终结连接(te原创 2021-01-21 14:26:32 · 10758 阅读 · 1 评论 -
路由表和路由转发表对路由的选择
路由器通过路由表(Routing Information Base,RIB)选择路由,位于控制平面;选择出的路由下发到路由转发信息表(Forwarding Information Base,FIB),位于数据平面。RIB通过依次比较表中的优先级(Preference)和开销(Cost)来决定将哪些路由下发到FIB。其中Preference用于不同路由协议间优先级比较;Cost用于同一种路由协议不同路由条目的比较。FIB通过最长匹配原则来决定走哪条路由,也就是掩码匹配度越高的路由越优先选择。.原创 2021-01-19 15:35:03 · 965 阅读 · 0 评论 -
OSPF网络可以没有BDR(实验)
#问题(以下全文基于OSPFv2,即IPv4下的OSPF;链路层协议为以太网)OSPF在发送/接收Hello包时,可以选举DR/BDR。Hello包有一个字段为Rtr Pri(8 bit),是DR的优先级,默认为1,当它设置为0时,路由器不参与DR/BDR选举。那么一个网络若除了一台路由器,其余路由器优先级全为0,也就会意味着网络中没有BDR?这样可行吗?(结论是可以的,即OSPF网络可以没有BDR)#实验条件...原创 2021-01-15 13:28:25 · 1701 阅读 · 0 评论 -
静态路由只配置出接口网络不通(实验)
#问题引入配置静态路由时,可以选择配置下一跳地址,也可以选择配置出接口,也可以两者同时配置。但是以太网环境中只配置下一跳时,两个网段无法通信。#实验条件采用华为的eNSP模拟器如下图,两台PC连接到两台路由器,PC1处于11.0.0.0 24网段,PC2处于22.0.0.0 24网段。他们的网关都设置为连接的路由器接口。路由器之间网段为12.0.0.0 24。需求是PC1和PC2之间通信,显然AR1和AR2两台路由器需要有对应的路由。即当PC1向PC2发包时,由于AR1为PC原创 2021-01-15 12:33:48 · 7137 阅读 · 2 评论