- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 程序员必掌握的iptables五表五链
(5) security: 强制访问控制的表,目的是与 Linux 安全模块(如 SELinux),打上 SELinux 标记实现安全上下文的网络访问控制。(1) raw:优先级最高的表,目的是在数据包进入系统的连接跟踪机制之前,对它们进行非常早期的处理。(5) POSTROUTING: 本机产生的准备发送的包或者转发的包,在经过路由判断之后, 将触发。(3) FORWARD: 接收到的包经过路由判断,如果目的是其他机器,将触发。(2) INPUT: 接收到的包经过路由判断,如果目的是本机,将触发。
2025-06-08 19:53:53
242
原创 什么是HTTP流?
响应体被分割为多个数据块(chunk),每个块包含长度值和数据内容,以 0\r\n\r\n 标记结束,称为流式。HTTP流(HTTP Streaming)是一种数据传输技术,允许服务器在生成完整响应内容前就开始向客户端分块发送数据,从而实现实时或渐进式传输。HTTP/2(RFC 7540)引入“流”作为逻辑传输单元,每个请求/响应被分配唯一ID(奇数客户端发,偶数服务端发)。数据包可乱序发送,通过流ID标识归属,支持优先级和取消(RST_STREAM帧)。技术文章持续更新,请大家多多关注呀~~
2025-06-04 22:49:17
114
原创 手把手带你部署Dify大模型平台
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。
2025-05-29 23:55:11
721
原创 Linux中inode了解吗?
在 Linux 系统中,inode(索引节点)是文件系统的核心数据结构,用于存储文件或目录的元数据(metadata)和指向文件实际数据块的指针。inode 关联关系举例:当创建一个文件时,系统会在所在目录中添加一个条目,记录文件名和对应的inode号。当用户访问文件时,通过目录中的条目找到inode,进而获取文件的数据块位置。● inode 是文件的“身份证”:每个文件或目录在文件系统中对应的唯一 inode 编号。● 文件名与 inode 分离:文件名由目录管理,inode 负责文件的实际数据。
2025-05-27 22:24:18
103
原创 (必看)生产环境中的网络故障排查思路
叮叮叮,收到同事在群里发的故障问题,是一个网络连通性问题。工作中这种问题出现的频率最多了,觉得还是比较有意思,所以总结了一下整体过程分享给大家。
2025-05-26 22:40:13
516
原创 MCP快速上手,快来看看~
文件系统操作实现模型上下文协议(MCP)的Node.js服务器。注意:服务器只允许在通过args指定的目录内进行操作。搜索微信公众号,关注我【 帽儿山的枪手 】技术文章持续更新,请大家多多关注呀~~● 创建/ /删除目录列表。
2025-05-20 21:39:53
181
原创 一图看懂什么是MCP
Model Context Protocol (MCP) 是由Anthropic公司提出的一种开放协议,旨在为大型语言模型(LLM)提供标准化的上下文数据接口。MCP被比喻为类似USB-C的通用接口,用于连接不同设备以获取或传输数据。其架构包括主机、客户端和服务端,其中主机可以包含多个客户端,客户端通过MCP协议与服务端交互,服务端则访问本地或远程数据源。MCP使用JSON-RPC2.0作为数据传输格式,支持标准输入输出和服务器发送事件(SSE)两种传输模式,适用于不同场景的通信需求。更多技术更新,请关注微
2025-05-19 21:27:57
174
原创 如何手写一个arp命令?
ARP(地址解析协议)是用于将IP地址解析为MAC地址的网络协议,在IPv4中至关重要。其工作过程是:主机A在发送数据包给主机B前,需先获取主机B的MAC地址。实现ARP功能时,可以通过创建SOCK_PACKET套接字来发送和接收原始数据包,手动封装Ethernet II以太帧和ARP报文,发送ARP请求并解析应答包以获取目标MAC地址。SOCK_PACKET套接字允许在数据链路层直接处理以太网帧,支持混杂模式和协议透明性。Ethernet II帧是常见的以太网帧格式,包含目的MAC地址、源MAC地址、协议
2025-05-16 21:57:18
578
原创 如何手写一个ping命令?
本文介绍了如何通过SOCK_RAW套接字类型实现简单的ping命令功能。ping命令基于ICMP协议,用于测试网络连通性。SOCK_RAW套接字允许程序直接访问网络层协议,绕过传输层封装,从而实现对网络数据包的完全控制。文章详细解析了SOCK_RAW的基本特性,包括底层访问、协议定制、数据包嗅探和无自动处理。
2025-05-09 09:23:42
778
原创 什么是文件描述符?
文件描述符是由内核分配,只在一个进程内部有效,两个不同进程可以使用同样的文件描述符。不同进程中基于同一个描述符共享文件是不可能的。文件描述符(File Descriptor,FD)是Linux系统中用于标识打开文件的整数。其中,描述符0代表标准输入,描述符1代表标准输出,描述符2代表标准错误。在Linux系统中查看某个进程的描述符,方式如下。搜索微信公众号,关注我【 帽儿山的枪手 】技术文章持续更新,请大家多多关注呀~~
2025-05-07 20:55:06
179
原创 如何使用socket系统调用创建TCP三次握手呢?
大家可以思考下,结合上图TCP三次握手的理解,客户端要发送两个数据包 syn 和 ack 完成三次握手,那如何通过系统调用的方式实现呢?我们熟悉的 HTTP、HTTPS、FTP、SSH、SMTP等协议及相关应用都是基于TCP协议,然后都可以通过。中介绍了 7 种socket套接字类型,哪些可以实现TCP的连接呢?是最常用的套接字类型,通常用于 TCP 协议。它提供面向连接的、可靠的、双向的字节流通信。函数,采用的什么方式进行TCP连接的呢?其他哪种套接字类型还可以实现呢,大家可以想一想~
2025-05-06 22:19:17
275
原创 手写一个UDP端口探测程序
今天让我们一起来看看UDP端口探测是怎么个事,本篇文章主要用到SOCK_DGRAM套接字类型。SOCK_DGRAM是 Linux 套接字(Socket)的一种类型,它提供无连接的、不可靠的数据报服务。这种套接字通常用于 UDP (User Datagram Protocol) 用户数据报协议。(1)首先创建套接字,指定套接字类型(2)设置链接超时时间(3)创建要探测的UDP服务地址(目标IP及端口)(4)封装消息体(5)最后使用接收UDP服务响应📢。
2025-04-29 22:14:27
701
原创 socket套接字你搞清楚了吗
Socket,一般称之为套接字,用于描述IP地址和端口。可以实现不同程序间的数据通信。socket最初被翻译为把socket译为“介质(字)”。不久,ARPANET的socket就被翻译为“套接字”,其理由是:由于每个主机系统都有各自命名进程的方法,而且常常是不兼容的,因此,要在全网范围内硬把进程名字统一起来是不现实的。所以,每个计算机网络中都要引入一种起介质作用的、全网一致的标准命名空间。这种标准名字,在ARPA网中称作套接字,而在很多其他计算机网中称作信口。
2025-04-23 22:25:13
243
原创 什么是字节流?
在计算机科学中是一种比特流,不过里面的比特被打包成一个个我们叫做字节(Bytes)的单位。我们可以把它想做是两个实体之间的流水线;其中一个实体会将字节输入流水线,另一个实体则接收这些字节。这个流水线可以是短暂或者永久的。在电脑网络内,八比特字符串流(octet stream)有时会拿来代表同样的东西;这种措辞强调了我们的字节是8比特的字节,或者说八比特(octets)。最早字节这个词被引进的时候,本身并没有一个大小的标准;不过大多数现在的电脑字节都等同于八比特。我们熟悉的很多技术点本质上都是字节流。
2025-04-18 22:16:54
161
原创 通过网络命名空间实现网络分流的思想及方法
在业务环境中,存在eth0、eth1、eth2等多个网络设备,其对应不同的网络出口。那如何将指定DNS流量进行分流呢?
2025-04-15 21:47:42
925
原创 docker镜像深入理解
大家好,本篇文章和大家聊下docker相关的话题~~ 工作中经常有关于docker镜像的问题,让人百思不解 1. docker镜像加载到系统中到哪里去了?docker load 加载镜像的流程是怎样的?2. 为什么容器修改内容后,删除容器后再次开启容器内容消失了?3. docker images查看的镜像大小与docker save后的大小不一致?4. 通过docker build或docker pull后的镜像层的层级关系怎么查看?5. docker save导出的镜像后如何查看到镜像
2024-06-06 13:49:15
1018
1
原创 golang 上传离线tar/gz镜像文件至Harbor仓库
hello,今天和大家分享个小工具 (在实际业务场景中,通常我们提交docker镜像,通过命令来发布至远程仓库中,但这种方式需要本地环境中存在要发布的镜像文件,比如alpine:3.8我要提交。如果有较多镜像已经通过方式另存到了另外的文件系统中, 我们要把这些镜像发布到远程仓库中,那发布的过程是非常的繁琐。针对这个业务场景,Fork了项目,二次研发后将我们业务需求实现。有这种需求的小伙伴,欢迎用起来呀~~
2024-05-31 12:33:58
581
原创 Golang net/http标准库Request类型(五)
大家好,针对Go语言net/http标准库,将梳理的相关知识点分享给大家~~围绕net/http标准库相关知识点还有许多章节,请大家多多关注。文章中代码案例只有关键片段,完整代码请查看github本章节案例,请大家以go1.16+版本以上进行参考。
2024-05-30 21:09:52
957
原创 Golang 基础之并发基本同步原语(二)
本文主要介绍 sync 标准库中基本同步原语 sync.Cond、sync.Once、sync.Pool介绍及使用。
2024-05-13 16:31:45
1077
原创 Golang 基础之并发基本同步原语(一)
大家好,今天将梳理出的 Go语言并发知识内容,分享给大家。 请多多指教,谢谢。本文主要介绍 sync 标准库中基本同步原语 `sync.Cond`、`sync.Once`、`sync.Pool` 介绍及使用。
2024-05-12 15:51:45
782
原创 Golang 基础之并发goroutine(补充)
前面 《Golang 基础之并发知识 (二)》 章节已经和大家简单介绍了 goroutine 的实现机制,本篇文章我在针对 goroutine 知识点进行一个补充。 请大家多多指教,谢谢!
2024-05-11 14:00:22
978
原创 Golang 基础之并发知识 (三)
大家好,今天将梳理出的 Go语言并发知识内容,分享给大家。 请多多指教,谢谢。本次《Go语言并发知识》内容共分为三个章节,本文为第三章节。
2024-05-09 13:33:58
872
原创 Golang 基础之知识普及
前面已将基础语法、数据类型、函数使用内容介绍完成,相信大家已经有了Go基础。此篇内容主要谈一下对Go这门语言的背景和特性内容,还有一些编程规范和大家分享一下。
2024-05-06 12:11:46
733
原创 Golang 基础之函数使用 (二)
在Go语言中,函数可以像普通变量一样被传递或使用,支持随时在代码里定义匿名函数。匿名函数由一个不带函数名的函数声明和函数体组成。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。
2024-05-04 11:34:15
852
原创 Golang 基础之函数使用 (一)
大家好,今天将梳理出的 Go语言函数用法内容,分享给大家。 请多多指教,谢谢。本次《Go语言函数使用》内容共分为三个章节,本文为第一章节
2024-05-02 17:22:02
639
原创 Go程序中调用shell命令安全吗?
在实际项目中,因业务功能的原因在编写程序中经常会调用第三方命令或系统命令来完成相应的功能,不由在想这种方式真的安全吗? 由于这种疑问让我产生了浓烈的兴趣,本次将分析的经过记录了下来。接下来小伙伴们跟我一起研究学习吧~
2024-04-30 14:16:05
1167
2
原创 docker-image 工具展示更详细镜像层内容信息
docker-image 工具主要功能实现了, 利用docker内容寻址机制详细展示了镜像层与镜像关联的关系。
2024-04-23 22:38:16
2753
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人