自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 linux ntfs格式u盘实现与挂载

linux ntfs格式u盘实现与挂载

2022-10-15 16:28:46 1916

原创 linux内核6rd实现了解

linux内核6rd实现了解

2022-10-15 16:22:37 599

原创 ipv6 neigh proxy代理功能

ipv6 neigh proxy代理功能

2022-10-15 16:20:25 1991

原创 联想服务器sudoer文件改坏后无法使用sudo问题修复

联想服务器sudoer文件改坏后无法使用sudo问题修复

2022-10-15 16:13:52 398

原创 高通QCA平台常见wifi命令使用

高通QCA平台常见wifi命令使用

2022-10-15 16:10:29 2717

原创 初步熟悉新webserver goahead

初步熟悉新webserver goahead

2022-10-15 16:09:32 681

原创 关于部分路由器LAN<->WAN/WLAN测试千兆上限无法突破问题

关于部分路由器LANWAN/WLAN测试千兆上限无法突破问题

2022-09-26 10:55:11 466

原创 limit coredump功能生效内核代码实现了解

limit coredump功能生效内核代码实现了解

2022-08-15 09:35:32 247

原创 OpenWRT procd启动过程了解

OpenWRT procd启动过程了解

2022-08-15 09:34:18 836

原创 OpenWRT button按键通用生效处理机制了解

OpenWRT button按键通用生效处理机制了解

2022-08-15 09:27:01 1385

原创 HG HTTP REDIRECT重定向功能简要了解

HG HTTP REDIRECT重定向功能简要了解

2022-08-13 18:42:34 654

原创 HG DNS TRAP劫持功能简要了解

HG DNS TRAP劫持功能简要了解

2022-08-13 18:36:57 378

原创 cwmpClient实现框架简要总结

cwmpClient实现框架简要总结

2022-08-13 18:26:22 802

原创 CDC-NCM和CDC-ECM性能差别

在《RNDIS和CDC-ECM差别》中有提到CDC-ECM的性能应该会更好。但实际测试结果并非如此,CDC-NCM的性能表现才是更好的。重新查看了驱动,发现猫腻实现在tx_fixup / rx_fixup中。核心实现为:ncm可以将多个报文集成到一个buffer中,即实现一次收发多个数据报文(具体收发多少个需要参见cdc_ncm_bind -> cdc_ncm_setup)....

2021-10-08 11:28:03 2668

原创 IxChariot 6.7 endpoint安装失败问题

失败错误提示: starting service阶段出现error 1920错误初步原因确认: IxChariot 6.7是32位的,出现上述错误的windows操作系统是64位的 IxChariot控制台程序能被64位windows操作系统兼容,但endpoint不行建议解决方法: 1)下载64位的endpoint,推荐7.10版本 2)更换32 windows操作系统...

2021-08-14 10:50:04 3666

原创 C语言关于数值计算及比较

首先需要明确一点:在汇编语言中,add(+) sub(-) cmp(>、<、=)是不同的汇编指令,有了这个前提做基础,就会让我们更容易理解计算机的数值计算及比较对于数值计算(+-*/),我认为需要明确3点:1)类型提升 - 2个不同的类型操作,低类型的数据需要提升成高类型,char < short < int < long < longlong ...,如果是基础类型一样,则signed < unsigned2)结果类型 - 以高类型为结果类型3)溢出.

2021-08-09 19:58:45 670

原创 空值初始化结构体问题

多数人喜欢通过memset去初始化结构体,但如果一次使用,可以在定义的时候通过{}实现使用{}可以直接在定义时置空组数或结构体,该特性g++/gcc编译器普遍都支持测试代码:#include <stdio.h>typedef struct _st_a_i { short a; int b; char c[8]; unsigned char d;} st_a_i;typedef struct _st_a ...

2021-08-05 09:48:31 1321 2

原创 RNDIS和CDC-ECM差别

默认建议的接口都是ethernet的(会包含eth头部),但对于RNDIS又定义了一层44字节的封包头部需要插入了报文中(cdc-ecm没有),然后再提交给usb处理即对于驱动来说,cdc-ecm基本属于透传模式,tx报文直接透传给usb;rx报文透传给CPUrndis需要增加44字节头部封装,tx报文在skb中扩展头部给usb;rx报文剥掉头部给CPUcdc-ncm从驱动上看也是有自己的头部扩展gobinet有些差异,gobinet可以配置2种模式(rawIPMode,即是否带有以太网

2021-07-26 02:06:30 3969

原创 traceroute运行环境兼容性问题

某些国外运营商反馈执行traceroute没有任何结果traceroute默认使用UDP+TTL技术实现,抓包确认是上层环境没有对此报文做响应导致traceroute改为通过ICMP+TTL实现后问题解决注意:traceroute本身已通过-I参数提供了ICMP的实现...

2021-07-26 02:05:31 55

原创 shell命令行无法补全问题处理

多数是当前使用的默认shell脚本不支持,bash是支持的,改用bash方法:chsh -s /bin/bash

2021-07-26 02:05:06 696

原创 watchdog的实现机制应用了解

正常理解watchdog工作原理为:客户定义一定的时间间隔ITime喂一次狗,如果狗超过最大时间VTime得不到喂养,则狗会饿死多数为硬件提供watchdog机制支持,在开启该硬件功能后(一般会提供寄存器软件设定开关)需要在VTime时间内至少完成一次kick,否则硬件通常的做法是直接reset重启举例某SDK watchdog实现机制:硬件提供watchdog功能支持,系统对外提供的接口主要为:echo enable 0 interval 32 > /proc/watchdo

2021-07-26 02:04:29 534

原创 LVM硬盘扩容

新硬盘需要先格式化:fdisk命令完成原有在用的硬盘是通过lvm管理的,lvm本身提供了机制可以在原有挂载点以及其对应的文件系统中扩展容量,这样可以让新加硬盘像老硬盘一样被直接使用而无感知lvm实现这套的架构为:多个pv(物理卷) 可以映射到 一个lvg逻辑卷组,一个lvg逻辑卷组 又可以分 多个lv逻辑卷,一个逻辑卷挂载一种文件系统每个步骤lvm系列工具都提供了对应的命令,具体可参见:https://www.cnblogs.com/diantong/p/10554831.htmlh

2021-07-26 02:01:56 207

原创 busybox ping 8.8.8.8服务器报文data长度超过88字节显示没有接收到回应报文 问题

异常时wireshark抓包和ip层check回应报文都有正常到达,从这点基本排除了网络层的问题,重点check应用层的实现对照busybox的ping源码实现,发现在unpack函数中存在回应报文长度的检查:当回应报文(从ip报头开始算) 小于 icmp报文长度(从icmp头部开始算),则认为此报文非法按照这个逻辑算下来,如果服务器固定回应data长度为68的报文,则只要设置icmp data长度超过(68+8+20-8)88,即触发此条件正常情况下icmp的回应报文data部分会直接使用

2021-07-25 19:59:10 411

原创 vfork的坑

需要特别注意:部分文档或资料说明vfork和fork没有差别,实际上是有差别的,而且在代码调用时要特别小心一点:vfork在调用exev系列函数之前,对父进程变量的修改都会直接会直接改变父进程中该变量的值!实例1:父进程:a = 11;vfork子进程:a = 22; //exev之前执行回过来check父进程的a值已经变成22实例2:RTL路由器平台某SDK版本中tr069 traceroute诊断功能的实现:traceroute子进程是通过vfork+sy

2021-07-25 19:58:25 72

原创 关于Linux kernel 提供hostname接口的一点验证

推荐阅读:https://www.cnblogs.com/kerrycode/p/3595724.html个人补充:hostname接口修改作用:1)gethostname函数获取主机名2)uname -a / hostname命令显示主机名还有一个非常重要的作用是域名IP解释:3)gethostbyname目前测试结果:不在/etc/hosts /etc/resolv.conf中映射主机名IP地址时,会获取当前设备接口IP地址显示关于此点未在2.18 glibc

2021-07-25 19:57:15 95

原创 windows执行cygwin慢问题

按照编译要求需要在windows下通过cygwin编译boot发现我自己的电脑编译非常慢(1~2个小时都没有编译完成),但同事的电脑不会通过windows安装程序对比排查,查找到问题原因是360影响(每个执行的命令都被劫持做安全检查???),关闭360后OK(大家也可以尝试更新360版本,看看是否已修复此问题)...

2021-07-25 19:55:44 1165 2

原创 samba安装后无法访问

1 修改samba配置smb.conf的访问权限(内部网络建议这样设定,不然就要等着各种人因为权限问题来找你麻烦...)#======================= Share Definitions =======================# Un-comment the following (and tweak the other settings below to suit)# to enable the default home directory shares. This

2021-07-25 19:53:41 586

原创 socket指定SRCIP和SO_BINDTODEVICE的区别

在网络编程中,尤其是多WAN(不论这个多WAN是物理的还是虚拟的,最终Linux都是以映射的NETDEVICE设备为准)的网络编程中,经常会用到上述实现,但常常会导致网络不通或走错接口的情况单播报文内核实现上的区别1)指定SRCIP - 这种情况下Linux内核并不会通过SRCIP直接定死出接口后,在没有特殊路由规则的情况下还是会按照DESTIP查找出接口注意:此时抓包会发现即使指定了SRCIP,但实际上出接口并不是我们要的那个接口,即会出现走错接口的情况处理方法:添加静态路由 -

2021-07-25 19:52:40 1045

原创 vi无法使用tab、backspace等按键

当前vi版本并没有指向vim,多数没有指向的原因是vim没有安装,ubantu vim安装方法:sudo apt-get install vim,安装后vi会被修改成指向vim如果已经安装vim,可以自己手动做了软链接,或者命令行直接改用vim使用而不是vi...

2021-07-25 19:45:11 464

原创 telnetd对tty和network socket的实现关联

telnetd实现最重要的就是对输入输出的转发处理:输入:telnet client(socket write) -> telnet server(socket read) -> telnet server(tty write) -> stdin(0)输出:stdout(1)/stderr(2) -> telnet server(tty read) -> telnet server(socket write) -> telnet client(socket rea

2021-07-25 19:44:23 168

原创 C语言open函数有2个原型申明的问题

此点主要通过C语言支持可变参数实现验证方式:通过gcc -E预编译直接grep搜索open可以看到。open的C lib库定义函数原型确实是可变参数(2个或2个以上)的@ubuntu:~/test$ gcc -E test23.c | grep open...extern int open (const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));...int fd1 = open("tes

2021-07-25 19:43:07 332

原创 关于中国技术的一点个人思考

这2天遇到一位友人,谈及中国的技术问题,主要涉及如下2条:1)教会徒弟饿死师傅 思想严重,不愿任何形式的技术分享2)网络抄袭严重,介绍技术几乎都是copy,连验证都不做一把,更遑论原创了,而抄袭风气的形成 又会像 破窗效应 一样在 人群中蔓延提及更深层次的原因,友人的观点我本人也是很赞同的:贫穷!因为贫穷,才会让教会徒弟饿死师傅 这种观念成为一种普遍思维;因为贫穷,才会图快,验证、原创等 钻研行为都是需要大量的时间耗费的。现在我们国家已基本实现小康,从实际处讲,相较于几十年前 人民.

2021-07-25 19:31:24 66

原创 【技术重温】html之重点(十)

Web Workers当在 HTML 页面中执行脚本时,页面是不可响应的,直到脚本已完成。Web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 运行在后台。在实现上需要关心的重点有2个:worker如何后前台页面交互,即后台进程在做完某件事情后如何通

2017-12-24 19:48:59 143

转载 【技术重温】html之重点(九)

appcache 应用程序缓存作用1)明确缓存文件以加快浏览速度2)支持离线版本其实质的作用就是:浏览一些网站总有一些是非动态生成的,针对这些静态的文本或媒体可以只请求一次实现通过html manifest属性指定描述appcache文件:该文件描述哪些文件可以缓存、哪些文件必须网络请求每个指定了 manifest 的页面在用户对其访问时

2017-12-24 19:32:42 99

原创 【技术重温】html之重点(八)

讲浏览器存储对象,必然要先说阐明安全问题,即一个网站的存储对象是否会被其它网站获取,这就涉及到了同源策略,同源策略就是为处理这一问题而产生。同源策略同domain(或ip),同端口,同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略。 Cookies浏览存储参考

2017-12-24 18:49:14 140

原创 【技术重温】html之重点(七)

拖放功能function allowDrop(ev){ev.preventDefault();}function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);}function drop(ev){ev.preventDefault();var data=ev.

2017-12-24 17:30:29 167

转载 【技术重温】html之重点(六)

JS定位核心的定位代码都是通过第三方提供,我们都是使用他人已经写好的对象函数而已参考:https://www.cnblogs.com/milkmap/p/6138519.htmlGeolocation.getCurrentPosition获取精确位置的流程:在PC端,因为原生接口成功率很低,JavaScript API会优先调用精确IP定位服务,在IP定位失败的时候,尝

2017-12-24 16:35:50 213

原创 【技术重温】html之重点(五)

多媒体标签 HTML4 中不赞成,HTML5 中允许。定义内嵌对象。 定义内嵌对象。可以通过子标签定义运行时参数。 标签定义声音,比如音乐或其他音频流。HTML 5扩展标签。 标签定义声音,比如音乐或其他音频流。HTML 5扩展标签。上述标签是显示控件,也可通过a标签隐形的显示(即只有点击a标签后才可显示出对应的控件)。1)为什么有些浏览器不支持特定的视频音频格

2017-12-24 15:46:19 114

原创 【技术重温】html之重点(四)

重点031:autocomplete 属性autocomplete 属性规定表单或输入字段是否应该自动完成。当自动完成开启,浏览器会基于用户之前的输入值自动填写值。提示:您可以把表单的 autocomplete 设置为 on,同时把特定的输入字段设置为 off,反之亦然。重点032:autofocus 属性autofocus 属性是布尔属性。如果设置,则规定

2017-12-10 21:36:12 155

原创 【技术重温】html之重点(三)

请注意:我们混合了HTML5扩展的标签或控件来描述,从定义上来说,HTML5是HTML4的一个更高一级的版本部分html5扩展的控件还无法被最新的浏览器完全支持(IE至少要到9以上才支持部分)    color        //最新浏览器正常支持    date        //最新浏览器正常支持    datetime    datetime-local    e

2017-12-10 21:15:13 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除