自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言----文件操作(二)

在上一篇文章中我们简单介绍了在C语言中文件是什么以及文件的打开和关闭操作,在实际工作中,我们不仅仅是要打开和关闭文件,二是需要对文件进行增删改写。本文将详细介绍如果对文件进行安全读写。

2023-12-16 06:00:00 1659

原创 C语言----文件操作(一)

对于文件想必大家都很熟悉,无论在windows上还是Linux中,我们用文件去存储资料,记录笔记,常见的如txt文件,word文档,log文件等。那么,在C语言中文件是什么样的存在呢,我们又怎么去操作文件,操作文件中又需要注意什么。在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。在C语言中对文件的操作也是有规定的。如果不按规定来文件操作很容易出Bug,而且还不好查。

2023-12-10 13:16:48 1209

原创 Linux下Python调用C语言

快速了解python调用C代码

2023-12-03 19:34:51 1080

原创 FTP协议详解

FTP协议是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议,其英文全称是File Transfer Protocol。是TCP/IP协议簇中的重要一员。客户端和服务器按照FTP的协议规范进行通讯来实现文件传输。对于FTP服务器好理解,是对外提供FTP服务的机器。对于客户端怎么去连接服务器呢,在windows上可以通过ftp命令来进行连接,也可以通过第三方的FTP的客户端程序来连接服务器,场景的FTP客户端程序有FileZilla。

2023-12-01 21:06:13 1192

原创 基于Scapy修改ClientHello的SNI(三)

需求:修改HTTPS的ClientHello中的SNI字段目标:修改成功,wireshark显示正常语言:Python三方库:Scapy

2023-11-25 21:47:00 938

原创 DNS协议详解

当我们想要访问百度的时候,我们会输入网址www.baidu.com,而不是直接输入百度的服务器的IP地址去访问,而且我们也不知道百度的服务器的IP地址是多少。为什么我们输入百度的网址就能自动去找到百度的服务器地址呢。这背后就有DNS的功劳。域名系统(Domain Name System,缩写:DNS)是互联网的一项基础服务。DNS允许终端用户设备将给定的人类可读URL转换为网络可以理解的机器可用IP地址。DNS本质是一种可以将域名和IP地址相互映射的以层次结构分布的数据库系统。

2023-11-23 21:06:44 1150

原创 记录基于scapy构造ClientHello报文的尝试(二)

最近有个需求就是用scapy构造https的client hello报文,由用户指定servername构造对应的报文。网上对于此的资料甚少,有的也是怎么去解析https报文,但是对于如果构造基本上没有找到相关的资料。一直觉得最好的老师就是Python的help功能和dir功能,对于这种资料比较少的最好也是去看看源码,我们可以先看看scapy对于TLS的支持能力有handshake,extensions等,说明基础的能力肯定是具备的,在上一篇文章中。

2023-11-19 19:04:55 272

原创 基于Python3的scapy解析SSL报文(一)

scapy对于SSL的支持个人觉得不太好,至少在构造报文方面没有HTTP或者DNS这种常见的报文有效方便,但是scapy对于SSL的解析还是可以的。下面我们以一个典型的HTTPS的报文为例,展示scapy解析SSL报文。

2023-11-17 22:40:48 1497

原创 安装纯净版Linux后的必备设置

这篇文章分享一下笔者在安装Centos7的纯净版后的基本设置和安装一些必备的软件。

2023-11-12 13:00:47 324

原创 C语言----静态链接库和动态链接库

一文读懂C语言的静态库和动态库

2023-11-11 21:21:39 426

原创 基于GCC的工具objdump实现反汇编

在 Linux中,一切皆。Linux 编程实际上是编写处理各种的代码。系统由许多类型的文件组成,但目标文件具有一种特殊的设计,提供了灵活和多样的用途。目标文件是包含带有附加地址和值的助记符号的路线图。这些符号可以用来对各种代码段和数据段进行命名,包括经过初始化的和未初始化的。它们也可以用来定位嵌入的调试信息,就像语义 Web,非常适合由程序进行阅读。objdump命令是Linux下的或者的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。另外需要讲一下符号表,后面会用到。

2023-11-08 21:14:42 1658

原创 GCC编译器

gcc介绍

2023-11-05 19:45:54 149

原创 C语言编译过程总结

开发C程序有四个步骤:预处理、编译、汇编和链接。任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。我们创建一个test.c为例来讲解程序编译的过程。

2023-11-04 21:26:18 179

原创 HTTPS协议详解

上一篇文章中我们介绍了HTTP协议,HTTP协议的简单高效特点确实在其推广过程中起到了非常大的作用,但是随着大众对隐私的保护越发的重视,HTTP明文传输的特点已经越来越无法满足人们日益严苛的隐私保护需求。HTTPS在HTTP的基础上应运而生,HTTPS并不是从0开始设计的一种协议,二是站在HTTP的基础上进行加密。

2023-11-03 20:29:19 115

原创 HTTP协议详解

http协议详解

2023-11-01 20:42:46 78

原创 IP协议详解

IP协议处于五层模型(也可以说七层模型)中的网络层,网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。上一篇文章中我们讲到了TCP(传输层)会认为它负责将数据从一个设备传输到另一个设备,事实上它并不负责,TCP只是保障如何端到端的将报文完整的达到,而不负责怎么送达,IP协议的任务就是负责将报文如何通过一跳一跳的中间节点送达到目的地。

2023-10-29 10:24:51 216

原创 TCP协议详解

在五层模型中,传输层的典型代表就是TCP协议。TCP协议由于其天然自带的可靠性,广泛的使用在互联网的各项业务中。

2023-10-25 19:56:48 792

原创 QUIC协议包头保护(四)

学过HTTP和HTTPS都知道,随着网络的普及,人们对于信息的保护,个人的隐私越发的重视。信息加密对于未来协议的发展肯定是越来越趋于严格。QUIC作为新生代的协议,必然要站着前辈的肩膀上发展,对于报文中信息的保护肯定比前辈更加的严格,载荷加密不谈,QUIC甚至在包头上都进行了加密。

2023-10-23 20:13:48 189

原创 基于Python3的Scapy构造DNS报文

一文详解利用Scapy构造DNS报文

2023-10-21 18:33:19 780

原创 我的创作纪念日

我是工作三年才开始创作的,虽然早早就注册了CSDN的账号,但一直是将CSDN当做查询资料的网站,最初创作的初衷有两点,一是身边有同事在CSDN上创作我看他的创作文章感觉很酷,而且以当时的积累我觉得我也能做到,二是记录一下平时用到的知识点,毕竟不是那种过目不忘的天才,有些技术可能当时用的时候很透彻,一段时间后就忘了,如果没有记录,需要再次用到的时候,即时的去查也是费时费力,有些在第一次用的时候遇到的坑通过文章记录下来,下次用的时候也会少了很多试错的成本。另外一篇文章也是让我第一次上CSDN热榜。

2023-10-20 19:55:25 146

原创 PyQt5+Qt设计师初探

在上一篇文章中我们搭建好了PyQt5的开发环境,打铁到趁热我们基于搭建好的环境来简单实战一把

2023-10-03 12:43:56 442

原创 基于Python3搭建qt开发环境

Python可视化编程相信大部分刚接触都是tkinter,tkinter是Python自带的库,不需要安装第三方库即可使用,在我的Python专栏中也有很多基于tkinter来设计的可视化界面。本篇文章将尝试另外一个Python的可视化编程库(pyqt),与tkinter编程不同的是,qt可视化编程需要提前配置好开发环境,本篇文章将会详细演示如何搭建qt开发环境。

2023-10-01 14:10:09 634

原创 QUIC协议报文解析(三)

在前面的两篇文字里我们简单介绍了QUIC的发展历史,优点以及QUIC协议的连接原理。本篇文章将会以具体的QUIC报文为例,详细介绍QUIC报文的结构以及各个字段的含义。早期QUIC版本众多,主要有谷歌家的gQUIC,以及IETF致力于将QUIC标准化,即IETF QUIC(iQUIC),还有Facebook家的。早期各家的QUIC都有自己定制的字段,但总体是大同小异。与包头格式固定的 TCP 不同,QUIC 有两种类型的包头。建立连接的QUIC数据包需要包含的信息多,它使用长头格式。

2023-09-18 20:17:17 753

原创 Python3 XML处理模块详解

一文掌握xml的自动化处理,包括对xml文件的增删改查

2023-09-12 20:14:20 482

原创 QUIC协议连接详解(二)

在介绍QUIC协议的连接之前先科普一下什么是RTT。RTT是Round-Trip Time的英文缩写,翻译过来就是一趟来回的时间即往返时延。时间计算即从发送方发送数据开始,到发送方接收到来自接收方的确认消息所经过的时间。RTT时延通常由三部分决定:链路的传播时间、末端系统的处理时间、路由器等网络中间节点的缓存和排队时间。正常情况下报文的传输时间和在应用处理时间相对固定,在网络拥堵情况下会出现RTT时延的波动。RTT是衡量网络传输性能的重要指标之一,能够反映出数据在网络中传输的速度和稳定性。

2023-09-10 13:34:01 253

原创 QUIC协议科普导入(一)

QUIC 的英文全称为:Quick UDP Internet Connections。从名字上看大概也能看出来主打一个快字,是一种基于UDP的全新的低延时互联网传输协议基于TCP,UDP传输层的协议已经发展了多年,协议栈集成在操作系统中,已经是非常成熟的协议,谷歌为什么要另辟蹊径自己开发一种基于UDP的传输协议呢。QUIC解决了现存协议哪些短板,QUIC自身的优势又有哪些?众所周知,HTTP统一江湖后,从最初的HTTP/0.9,经历了HTTP/1.x,HTTP/2到最新的HTTP/3这几个大的更新版本。

2023-09-09 17:32:08 288

原创 C语言----详解socket通信

刚接触socket的同学想必也知道socket的中文名,套接字,与其说是中文名倒不如说这是什么玩意,我们先不要管中文名的实际意义,我们先来了解一下什么是socket。我们上网产生的数据都是经过协议栈一层一层的封装然后经网卡发送到网络,经网络发送到服务端,然后服务端又是一层一层的解封装拿到自己想要的数据。对于协议栈都是集成在操作系统里,我们并不需要关心TCP,UDP等这些协议是如何实现的,我们关心的是我们的应用程序的数据能不能正常的发送出去和接收服务端发回来的数据。

2023-09-01 14:50:10 1632 3

原创 基于Tkinter的PanedWindow组件进行窗口布局

基于Tkinter的PanedWindow组件进行窗口布局

2023-08-26 14:50:30 360

原创 Python3的print用法

print打印默认是换行的,那是因为end参数默认就是'\n',如果想在每个打印的末尾加一个定制的符号,可以使用end参数,例如:print()函数的“end”参数指定为“|”,即print()函数每次输出完成之后,结尾都输出"|"当我们要输出一系列结果,但是中间字符不固定的情况下,如果是正常输出会出现错乱的情况,看上去也不美观,print允许我们以固定字符宽度和左右对齐的方式进行输出。"sep" 、 "end "、 "file" 和"flush" 必须以关键字参数的形式给出。执行了三次默认是追加。

2023-08-19 17:01:16 801

原创 C语言----输入scanf和输出printf详解

C语言编程中,输入输出是基本操作,printf和scanf并不是C语言中的唯一的输入输出选择,对于输入有scanf()、getchar()、getche()、getch()、gets();对于输出有printf()、puts()、putchar(),他们各有自己的使用场景,本篇文章主要介绍常用的scanf和printf。

2023-08-11 09:59:26 1623

原创 C语言----字符串操作函数汇总

在C的库函数中,有丰富的字符串操作函数,在平时的coding中灵活运用这些库函数会达到事半功倍的效果。

2023-08-08 20:00:28 191

原创 C语言----字节对齐

C语言字节对齐

2023-08-05 15:13:16 1254

原创 避坑Python深拷贝和浅拷贝

一文掌握python的深拷贝和浅拷贝

2023-07-14 15:48:38 215

原创 Python程序设计

一文让你写出好的Python代码

2023-07-08 16:29:07 1370

原创 一款IP合并和分解工具(二)

本文是对上一篇文章的补充,看过《一款IP合并和分解工具(一)》的知道,cidr-merger工具在windows上使用需要用命令行,不是很方便,在这通过python的tkinter进行二次开发,写一个可视化的界面

2023-07-02 17:46:59 550

原创 vscode实现本地代码自动同步到远程机器

vscode实现本地代码自动同步到远程机器

2023-06-26 19:29:48 2999 4

原创 C/C++线程绑核详解

在一些大型的工程或者特殊场景中,我们会听到绑核,绑核分为进程绑核和线程绑核。绑核的最终目的都是为了提高程序和性能或者可靠性

2023-06-03 16:44:06 2434

原创 C语言----类型强转

在C语言代码中我们经常会遇到对变量进行类型强转,如果没有深入理解类型强转,很容易引入代码bug,比如把int类型强转成char就有可能会截断数据,后面代码流程会造成意想不到的错误。这里将会总结一下C语言里的类型强转,建议在安全的前提下进行类型转换。

2023-06-01 22:33:31 854

原创 一款IP合并和分解工具(一)

一款IP合并和分解工具

2023-05-20 15:48:09 1841

原创 python的文件操作模块shutil和pathlib总结

python的文件操作模块shutil和pathlib总结

2023-05-13 16:34:42 1432

一款ip分解和合并工具

该工具可以实现ip地址段的合并,如 192.168.1.136/30 192.168.1.140/32 192.168.1.0/25 192.168.1.128/29 192.168.1.140/32 合并成一条192.168.1.0-192.168.1.140 也可以将192.168.1.0-192.168.1.140分解成上述的掩码IP

2023-05-20

gpt4all安装包,包含windows,linux,macos三大平台

gpt4all安装包,包含windows,linux,macos三大平台

2023-04-21

PlantUML使用手册

PlantUML使用手册,里面详细的描述了各种流程图如何使用

2023-03-10

k8s-v1.13.0离线资源.7z

包含docker离线安装包,k8s V1.13.0的镜像及kubelet&kubeadm&kubectl&cni安装包,kube-flannel.yml文件

2021-12-25

rfc-quic.7z

包含quic协议的四个版本 rfc8999-Version-Independent Properties of QUIC rfc9000-QUIC A UDP-Based Multiplexed and Secure Transport rfc9001-Using TLS to Secure QUIC rfc9002-QUIC Loss Detection and Congestion Control

2021-12-11

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

TA关注的人

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