自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq@1013040494的博客

路漫漫其修远兮

  • 博客(28)
  • 收藏
  • 关注

原创 Linux TCP/IP

Linux 中close与shutdown

2023-02-06 11:52:11 183

原创 Git快速搭建

git 搭建

2022-07-21 15:13:38 455

原创 DNS基础知识

文章目录1.DNS服务简介2.DNS相关概念2.1 域名结构2.2 解析2.3 两种查询方式2.4 DNS查询过程3.DNS基本原理4.常用的资源记录的类型有以下几种:记录类型:**A, AAAA, PTR, SOA, NS, CNAME, MX, SRV**1.DNS服务简介DNS(Domain Name System–域名系统),是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。是一个应用层的协议DNS使用TCP和UDP端口53。DNS是一个

2022-03-23 10:35:19 1416

原创 LINUX工具

文章目录环境搭建1.vscode工具2.截图工具3.画图工具4.文本编辑器5.文件传输工具6.版本工具7.ubuntu系统环境搭建更新系统源:sudo apt-get updatesudo apt-get upgrade必装工具:sudo apt-get install gcc sudo apt-get install vimsudo apt-get install adbsudo apt-get install net-toolssudo apt-get install makes

2022-03-23 10:19:26 4275

原创 关于Git

文章目录Git安装与版本库创建安装后的配置创建版本库将文件添加到版本库Git 版本管理(更新与回退)查看修改内容更新并提交版本回退通过指令查看更新历史版本回退版本回退撤销Git 撤销修改错误并未 commit错误已被git addGit安装与版本库创建sudo apt-get install git安装后的配置git config --global user.name"username"git config --global user.email “xxxxxxxx@xxxx.com”创

2021-04-25 17:33:46 309

原创 STUN判断流程

三种测试过程检测NAT类型Test1:STUN Client通过端口{IP-C1:Port-C1}向STUN Server{IP-S1:Port-S1}发送一个Binding Request(没有设置任何属性)。STUN Server收到该请求后,通过端口{IP-S1:Port-S1}把它所看到的STUN Client的IP和端口{IP-M1,Port-M1}作为Binding Response的内容回送给STUN Client。 Test1#2:STUN Client通过端口{IP-C1:Port-

2021-04-13 15:48:20 500

原创 NAT的基本原理以及NAT穿透

NAT原理概述NAT分类NAT实现方式NAT原理NAT缺陷NAT穿透概述NAT(“NetworkAddressTranslation”)中文意思是“网络地址转换”,它是一个IETF(InternetEngineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术,如下图所示。因此我们可以认为,NAT在一定程度上,能

2021-04-09 17:13:11 845

原创 关于CWMP基础(三)----(TR111)DHCP

DHCP (TR069)DHCP协议1.概述2.原理3.DHCP主要实现阶段第一阶段:第二阶段:第三阶段:第四阶段第五阶段第六阶段4. DHCP报文分析DHCP协议1.概述协议定义DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:作用动态分配IP地址,过程自动化,终端无需一一手工配置,配置信息统一管理(DNS,网关),IP地址有限、需要

2021-04-09 11:42:08 1368

原创 关于CWMP基础(二)----TR069通信流程

1.通信流程图建立TCP连接SSL初始化,进行加密建立安全机制由CPE端发起HTTP请求,发送Inform报文,开始建立CWMP连接。Inform中使用Eventcode字段描述发送Inform请求的原因 如 6 CONNECTION REQUEST ,表示ACS要求建立连接。如果ACS通过CPE的请求,则连接建立。如果CPE无别的请求则发送一个空报文。满足HTTP报文请求/响应报文交互规则。ACS查询CPE上设置的ACS URL的值CPE将所需要获取的值返回给ACS。ACS...

2021-04-07 17:25:36 2592

原创 关于CWMP基础(一)----(TR069)

CWMP(TR069)概述主要功能网络架构基本功能生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概述CWMP(CPE WAN Management Protocol,CPE广域网管理协议)是由DSL(Digital Subscriber’s Line,数字用户线路)论坛发起开发的技术规范之一,编号为TR-069,所以又被称

2021-04-02 11:07:37 3626 4

转载 DBus method_call的使用以及signal (总)

**发送Method call消息的场景**一个method call消息从进程A到进程B,B将应答一个method return消息或者error消息。在每个call消息带有一个序列号,应答消息也包含同样的号码,使之可以对应起来。他们的处理过程如下:如果提供proxy,通过触发本地一个对象的方法从而触发另一个进程的远端对象的方法。应用调用proxy的一个方法,proxy构造一个method call消息发送到远端进程。对于底层的API,不使用proxy,应用需要自己构造method call消息

2021-03-23 10:58:48 2827

转载 关于DBus (signal)的使用

**DBUS**DBUS有四种类型的消息:1.方法调用(method call) 在对象上执行一个方法2.方法返回(method return)返回方法执行的结果3.错误(error)调用方法产生的异常4.信号(signal)通知指定的信号发生了,可以想象成“事件”。客户端:发送信号的流程:1.建立与DBus后台的连接 DBusError err; DBusConnection *connection; DBusMessage *msg; DBusMessag

2021-03-22 21:24:31 1177

转载 Dbus的安装

1.下载DBUS下载地址:dbushttps://dbus.freedesktop.org/releases/dbus/2.配置编译./configure –prefix=/home/xx/dbus/install/ (安装目录)makemake install3.使用dbus-daemon是一个后台进程,负责消息的转发./dbus-daemon –config-file=…/etc/dbus-1/session.conf –print-address会打印一个类似unix:abstra

2021-03-19 17:47:34 2313

原创 Linux线程的分离(detached)与结合(joinable)

线程等待处理函数:#include <pthread.h>void pthread_exit(void *retval);void pthread_join(pthread_t th,void *thread_return);//挂起等待th结束,*thread_return=retval;int pthread_detach(pthread_t th);在Linux平台默认情况下,虽然各个线程之间是相互独立的,一个线程的终止不会去通知或影响其他的线程。但是已经终止的线程的资源

2021-03-19 14:52:27 313

原创 信号量

**1.区别**Posix是“可移植操作系统接口(Portable Operating System Interface )的首字母简写,但它并不是一个单一的标准,而是一个电气与电子工程学会即IEEE开发的一系列标准,它还是由ISO(国际标准化组织)和IEC(国际电工委员会)采纳的国际标准。而System v是Unix操作系统众多版本的一个分支,它最初是由AT&T在1983年第一次发布,System v一共有四个版本,而最成功的是System V Release 4,或者称为SVR4。这样看来

2021-03-19 14:50:24 95

原创 Linux detached(分离线程) 消费者和生产者模型

1.常用库<pthread.h>pthread_t tid;pthread_attr_t attr;pthread_attr_init(&attr);pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);pthread_create(&tid, &attr, THREAD_FUNCTION, NULL);

2021-03-19 14:49:47 283

原创 Linux中joinable(结合线程)消费者和生产者模型

**Linux中joinable和原子、互斥锁的操作**注:线程默认是joinable(结合线程)使用分文件编程思想,定义工厂头文件 “product.h”#include <stdio.h>#include <string.h>#include <stdlib.h>#include <pthread.h>#include <sys/types.h>#include <unistd.h>#include <s

2021-03-18 22:38:28 328

原创 Ubuntu安装vscode编辑器

**Visual Studio Code安装**1.官方下载地址:https://code.visualstudio.com/2.使用Ubuntu桌面应用商店直接搜索vscode,直接下载,双击文件安装。3.从官方下载的.deb文件,使用指令安装sudo dpkg -i code_1.47.3-1595520028_amd64.deb **C/C++插件大全**1.进入商店选择插件,左侧状态栏,方块形状图标。2.安装插件1)、C/C++,这个肯定是必须的。2)、C/C++ Sni

2021-03-17 22:07:48 235

原创 Ubuntu18.04安装Wireshark抓包工具

wireshark安装和使用1.命令行安装wireshark(网络抓包分析软件,可以直接从网卡抓取数据包,并对抓取的数据进行分析)安装wireshark:sudo apt-add-repository ppa:wireshark-dev/stablesudo apt-get updatesudo apt-get install wireshark2.安装过程中弹出设置框,选择是,允许普通用户使用wireshark抓包。(注意事项:如果选择了否,通过下面命令进行重新配置:sudo dpkg-

2021-03-16 19:01:02 454

原创 GDB调试core文件

Linux下如何使用gdb调试core文件**1.core文件**core文件是程序运行状态的内存映像当程序运行过程中出现segmentation fault(core dumped)错误时,程序停止运行,并产生core文件。使用gdb调试core文件可以帮我们快速定位程序出现段错误的位置。可执行程序编译时应加上-g编译选项,生成调试信息。当程序访问的内存超出了系统给定的内存空间,就会产生Segmentation fault(core dumped),因此,段错误产生的情况主要有:访问不存在

2021-03-14 22:46:22 718

转载 GDB的安装和使用

1.安装GDB增强工具(gef)简单安装方法1.切换到用户权限,切换到用户家目录/home/zl2.保持网络畅通git clone https://github.com/gatieme/GdbPlugins.git ~/GdbPlugins 从git上面下载一些插件(没有git 可以自行安装)apt-get install git3.克隆完成后,当前目录下面GdbPlugins这个文件。当你想要用某一个插件的时候,只要输入对应命令就行,这里我们主要使用gef 我们执行。echo "sou

2021-03-14 09:17:12 461

原创 使用libxml2库生成和解析文件

1.介绍本文所介绍的 libxml 是针对 C 语言的一套 API 接口。其他如 ruby,python 亦有对应的基于 libxml 开发的绑定库接口。2.libxml2库的安装和使用安装:1.下载地址http://xmlsoft.org/Download参考:2.http://www.miidoo.cn/info_detail-204.html3.http://www.blogjava.net/wxb_nudt/archive/2007/11/28/161340.html4.http:

2021-03-13 22:43:44 774

原创 valgrind的使用

https://blog.csdn.net/andylauren/article/details/93189740

2021-03-12 22:56:30 864

原创 字符串操作函数

1.memsetmemset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。函数介绍#include<string.h>void *memset(void *s, int ch, size_t n);解释:将s中当前位置后面n个字节用ch替换;作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 。函数原型:extern void *memset(void *bu

2021-03-04 19:46:47 213

原创 linux文件读写实战(cp指令的实现) 上

1.linux实现cp指令函数原型int open(const char *pathname, int flags, mode_t mode);ssize_t read(int fd, void *buf, size_t count);sszie_t write(int fd, const void *buf, size_t count);off_t lseek(int fd, off_t offset, int whence);实现描述将源文件拷贝到目标文件中,通过读和写

2020-11-05 17:39:21 147

原创 linux中文件的读写操作 下篇(函数open、 read 、write、 close、lseek)

linux文件读写(二)

2020-11-05 16:19:17 165

原创 linux中文件的读写操作 上篇(函数open、 read 、write、 close)

linux文件读写(一)1. 查看man手册man查询手册<1>man 1 +命令 这里的1表示为查询的是Linux命令<2>man 2 xxx 这里的2表示为查询的是linux api<3>man 3 xxx 这里的3表示为查询的是c库函数2. linux下的文件接口函数open read write close lseek3. 文件操作的基本步骤与注意事项a.文件的打开(open)函数原型int open(const char *path

2020-11-05 11:40:47 1084

转载 linux最快安装和使用

linux系统下载(最全)一、下载镜像:1、Linux官方镜像Deepin镜像https://www.deepin.org/mirrors/releases/Mint 镜像https://www.linuxmint.com/mirrors.phpkernel 镜像站:http://mirrors.kernel.org/Fedora 官方镜像站:http://mirrors.fedoraproject.org/publiclisthttps://torrents.fedoraprojec

2020-11-05 10:16:22 198

空空如也

空空如也

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

TA关注的人

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