Obito_uchiha
码龄9年
关注
提问 私信
  • 博客:54,295
    社区:2
    动态:22
    54,319
    总访问量
  • 28
    原创
  • 1,198,100
    排名
  • 12
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2016-01-22
博客简介:

sinat_33822516的博客

查看详细资料
个人成就
  • 获得27次点赞
  • 内容获得13次评论
  • 获得97次收藏
创作历程
  • 4篇
    2021年
  • 9篇
    2020年
  • 13篇
    2019年
  • 2篇
    2018年
成就勋章
TA的专栏
  • 记录
  • Ivshmem 
    1篇
  • Nahanni
    1篇
  • Http
    1篇
  • SAML
    1篇
  • XSS
    1篇
  • C++
    1篇
  • 单向通信
    1篇
  • JAVA
    3篇
  • Linux
    10篇
  • windows
    1篇
兴趣领域 设置
  • 网络空间安全
    系统安全
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

SimpleJWT.java

发布资源 2021.09.30 ·
java

Mybatis plugin

在阅读Mybatis源码的时候,对Plugin这边进行了一部分梳理,接下来使用一个例子来说明Mybatis中Plugin的原理./* 一个电影的Service,只有一个方法是watchMovie*/public interface MovieService { void watchMovie();}public class MovieServiceImpl implements MovieService { @Override public void watchMov
原创
发布博客 2021.07.31 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

获取symbol

1. symbol_get(kallsyms_on_each_symbol)2. symbol_get(kallsyms_lookup_name)3. cat /proc/kallsyms4. cat /boot/System.map-<uname -r>
原创
发布博客 2021.07.16 ·
364 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Poll】Linux Poll源码

上一篇博客大致分析了select的源码,其实poll和select的实现基本上是相同,只是poll改进了一些select的缺点 1. select可以监听的描述符是有限的,默认是1024个,因为select使用fd_set这个数据结构来保存要监听的描述符,其实fd_set就是一个unsigned long数组,这个数组默认是16,也就是16*8*8=1024。具体可以参考我上一篇博客Linux Select源码。2. 每次select返回后,response fd_set都被重置了,所以用户态的程.
原创
发布博客 2021.02.08 ·
464 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【Select】Linux Select源码

在网络编程中,经常用到selec系统调用来判断套接字上是否存在数据可读,或者能否向一个套接字写入数据。其原型为:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);Note: select,poll和epoll监听的fd一定是需要实现poll函数,例如ext3,xfs这些文件系统都没有实现poll函数,所以这些文件系统中被打开的文件是不能使用selec
原创
发布博客 2021.02.07 ·
781 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Nahanni(1) KVM环境的搭建

1. 安装CentOS 7的一台虚拟机,前提是要打开硬件虚拟化,然后建议安装Server With GUI,这样方便后面使用Virt-manager工具来安装虚拟机。2.安装完毕后,使用lsmod | grep kvm 来检查kvm模块和kvm_intel(kvm_amd)模块是否已经加载,如果没有加载,使用modporbe kvm来加载相对应的模块,同时检查一下qemu-kvm, qemu-kvm-common ,qemu-img 这三个rpm包是否安装。使用rpm –qa | grep q...
原创
发布博客 2020.12.18 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Epoll的水平触发和边缘触发

Epoll水平触发和边缘触发的区别 (网上截图的,觉得写的挺好的)水平触发的例子 Client端写HelloWorld给server,但是Server每次只读取5字节,所以当Client写10字节的内容给Server,第一次读取后,Server依然会有EPOLLIN的事件,然后读取剩下的5字节。 代码没有将已连接的connection保存在数组中或链表中,只是一个demo。//server code#include <stdio.h>#include...
原创
发布博客 2020.10.21 ·
557 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

线程,进程与信号

当一个进程有多个线程的时候,通过kill 命令来给某个进程发送信号的时候,那到底是谁来响应这个信号呢?一定是主线程么?同时,还要知道信号是可以打断一些阻塞函数的(accept,read ...)实验: 首先我们使用sigaction函数来注册一个信号处理函数,来响应SIGTERM信号,然后我们创建一个线程,创建线程完毕后,我们在主线程中,使用pthread_sigmask函数来屏蔽SIGTERM信号。当程序跑起来后,我们使用kill 命令来向进程发一个SIGTERM信号,查看是否是子线程来..
原创
发布博客 2020.10.16 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux signal 中断 waitpid 系统调用

代码文件test.c#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <errno.h>#include <sys/wait.h>#include <signal.h>void handler(int signo){ printf("i receive a sig,sig number is %d
",signo);}in
原创
发布博客 2020.10.14 ·
459 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pthread_cond 为什么要和mutex一起用

一般使用pthread_cond的方式 ThreadA: (消费者)pthread_mutex_lock (&count_lock); while(count==0) pthread_cond_wait( &count_nonzero, &count_lock); count=count -1;pthread_mutex_unlock (&count_lock);ThreadB: ...
原创
发布博客 2020.09.20 ·
331 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

docker swarm] Routing Mesh 网络原理

Routing Mesh(路由网格) 个人理解,我们在常见服务的时候,使用-p 来映射端口,当创建完成后,我们可以使用任何一台docker swarm 节点的ip+port来访问对应的服务。如下图(图片是网络资源,如有侵权,请告知,立马删除)以上的图片也说明了一个问题,就是我们还要一个负载均衡器来均衡流量到不同的主机,如果没有这个负载均衡器,如果某台主机挂到了,那么访问这个主机+port的流量一样是挂掉的。所以还需要上层一个负载均衡器来负载流量到不同主机,然后主机上ingress网络..
原创
发布博客 2020.07.26 ·
885 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

[Docker Swarm] 搭建docker Swarm

搭建前准备: manager node: Centos 7 worker node: Centos 7由于比较熟悉iptables,这里决定先将firewalld关闭,然后安装iptables来使用,分别在manager node 和worker node中运行以下命令 Systemctl stop firewalld Systemctl disable firewalld yum install iptables-services -y systemctl...
原创
发布博客 2020.07.26 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Docker Network 2】 Docker Swarm overlay

在docker 1.12 之后,可以直接使用Swarm,无需再进行安装。从上一节中看到 docker network ls 命令只会显示3种网络模式。先简单介绍Swarm 的命令swarm init 在管理节点上创建一个节点swarm join 加入一个新的节点到已有集群 docker swarm join-token worker 查看加入一个worker到集群的命令 docker swarm join-token manager 查看一个加入manager到集群...
原创
发布博客 2020.07.19 ·
421 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Docker network 1】 docker 网络模式详解

Docker 网络模式 在刚安装docker后,docker默认是拥有三种docker网络模式 1. Bridge(在安装docker后,宿主机会多出一个网络设备docker0。默认情况下容器的网络模式为bridge,即所有的container都连接在docker0上,实现二层互通。当然取决enable-icc的值。docker0的enable-icc 为true) --net=bridge 2. none (创建container后,网络配置没有指定,需要手动配置,...
原创
发布博客 2020.07.19 ·
2226 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

sk_buff 常用的方法总结

1. alloc_skb()作用: 1. 创建sk_buff变量,并为该变量分配内存 2. 创建一个数据缓冲区,用来存放数据包。源码:static inline struct sk_buff *alloc_skb(unsigned int size, gfp_t priority){ return __alloc_skb(size, priority, 0, -1...
原创
发布博客 2019.09.19 ·
667 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

JAVA中利用JNA调用dll或so

JNA中使用不同的接口来映射C中的结构体,指针,函数指针等概念。所以下面列举一个很经典的例子。调用DLL1. 在VS中创建一个DLL项目。 选择创建Win32 Console Application,然后选择DLL 2. 编写Demo#include "stdafx.h"#include <stdlib.h>#include <iost...
原创
发布博客 2019.08.31 ·
847 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

初探命名管道

突然间接了一个python的任务,本人由于没有学习过python,所以表示很慌张,但是Python代码看起来还是很容易,但是在任务将要结束的时候,发现了一个问题,让我周末两天都在搞这个问题。我们的项目是两个进程通过namepipe 来进行通信,其中一个进程是Client ,另一个进程是server。server端调用dll来完成一些任务,然后server会把任务完成的进度通过namepipe显...
原创
发布博客 2019.08.12 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux Bridge

1. 如何创建Bridge brctl addbr br0 创建bridge brctl addif br0 eth0 将eth0物理网卡附加到Bridge ifconfig eth0 0.0.0.0 取消eth0的ip地址 ifconfig br0 192.168.100.2 netmask 255.255.252.0 up 给br0...
原创
发布博客 2019.08.06 ·
489 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多