- 博客(31)
- 收藏
- 关注
原创 为什么连接跟踪在会话确认(confirmed)后,不允许再更新拓展
之所以会有竞态条件,是因为它会对连接追踪条目进行动态内存分配或扩展,而这些操作如果发生在条目确认后,可能会导致多个线程同时访问和修改该条目,从而引发数据不一致或内存访问问题。内核通过检查来避免在确认后对条目进行扩展,以防止竞态条件的发生。nf_ct_is_confirmed
2024-10-14 15:25:17
367
1
原创 面向对象设计的五大原则(SOLID 原则)
面向对象设计的五大原则(SOLID 原则)是指导我们设计可维护、灵活且易扩展的面向对象系统的核心准则。这些原则帮助开发者避免常见的设计陷阱,使代码更具可读性和可维护性。
2024-09-12 11:24:14
1220
原创 数据库4个范式的说明
在数据库设计中,范式(Normal Form)用于消除冗余和异常,确保数据一致性。:在符合2NF的基础上,所有非主属性必须直接依赖于主键,而不能通过其他非主属性间接依赖主键。:在符合1NF的基础上,表中的所有非主属性必须完全依赖于主键(不能有部分依赖)。:所有字段都是原子性值,即每个字段中只能包含单一值,不能包含重复或多重数据。:在符合3NF的基础上,每个非主属性必须依赖于候选键的。,即任何候选键都能唯一确定表中的所有属性。
2024-09-11 18:34:18
740
原创 在netfilter中ACCEPT、DROP、CONTINUE 和 RETURN 对应的值
在 Linux 内核的 Netfilter 框架中,ACCEPTDROPCONTINUE、和RETURN对应的值是通过一组常量定义的。这些常量用于表示不同的处理动作。
2024-08-20 15:55:40
482
原创 关于威胁情报技术细节的问题及解答
因此,威胁情报分析是自动化和人工结合的过程,自动化工具用于处理大量数据和执行初步分析,而人工分析师则负责更深入的判断和决策。通过这些步骤和技术,威胁情报平台可以将多源的、异构的数据转化为一致的、结构化的信息,从而使得这些数据更易于分析、分享和应用于安全防护策略中。这些原始数据通过自动化工具收集后,会经过清洗、处理和分析,最终形成有价值的威胁情报,为防御策略的制定和应对提供支持。通过实施这些威胁分析策略,并利用上述数据指标,组织能够更好地识别和响应潜在的安全威胁,保护其信息和资产安全。
2024-08-13 11:33:44
1266
原创 ebpf简述
Ebpf可以简单的理解成在linux内核(当然windows也已经支持)里添加了一个虚拟机,开发者编写的代码可以安全地在内核虚拟机中运行,这样可以更高效地、安全地实现内核级程序的编写,ebpf 的map机制可以实现内核态和用户态程序的交互。进而。
2023-12-03 19:50:20
387
原创 linux排查IO占用率高
使用top查看系统资源使用情况,查看到cpu使用率较高,其中iowait很高,说明有进程在iowait上消耗很多资源,但是,通过top又没有办法定位是哪个进程搞得鬼,因此需要借助其他工具 iotop及通过一些定位流程来确定是谁用了我的cpu。
2023-09-12 19:57:07
2671
1
原创 流畅的vim配置和使用
函数及变量跳转、快速全局查找、文件列表、函数变量列表、多组快捷键等之前我阅读大工程代码都是使用source insight,大工程使用它读起来还是比较方便的,但是对于小工程阅读则有点过于重,于是后来我使用vim+插件来读代码,最开始对没有鼠标的编辑器用的很难受,后来通过不断积累vim的插件和配置,vim已经成为了我最喜欢的编辑器。原生的vim只适合做简单的编辑和阅读,只有用魔法(插件+配置)加持,vim才能使用的得心应手我希望通过我关于这两方面的分享可以帮你快速上手vim,享受离开鼠标的快感。
2022-11-03 12:00:20
953
原创 有效 TCP RST
不论是攻击角度还是防御角度,tcp rst都可以发挥他阻断的作用,当然前提是可以有效的阻断TCP连接。在git上有些优秀的开源项目如:tcpkill,tcpwall都实现了tcp rst阻断,能看到这篇文章的小伙伴,我相信大部分是读过这些源码的,这些工具写的很好,其中tcpwall(国内小伙伴,GO语言开发)更胜一筹。虽然他们很好,但是还不够好,任然存在一些小问题,比如有些连接是rst不掉的。这些我会给出一些我的解决方案。...
2022-08-30 23:43:19
1265
原创 Sqlite3锁说明及如何避免锁
1、sqlite3简介为什么要说sqlite3,因为很多追求轻量级存储的开发者在使用它,尤其是在移动端及嵌入式系统,主要是由于存储空间的限制。包括微信最初也是用的sqlite,并对sqlite做了优化,基于此推出了自己的库WCDB,并且已经开源,目前有9k+加星。sqlite的轻量级和使用简单成就了它,当然河有两岸,事有两面,sqlite也放弃了一些其他主流关系型数据库的功能,比如行锁、安全性等。所以sqlite使用起来需要注意些小细节,比如锁问题。我知道sqlite是粒度很粗的锁,针对的是整个DB文件
2022-05-23 23:07:42
6186
原创 将无序数组插入有序链表
使用场景:将生存周期短的数组存储到生存周期长的链表上,增加记录信息,减少长数组的内存开销过程:1、将无序数组排序2、将有序数组插入有序链表链表为空的情况链表长度为1的情况链表长度大于1的情况当然我这种做法比较复杂,但是优点是无反复申请释放内存,用有序链表插入有序链表简单一些。c代码如下:#include <stdio.h>#include <string.h>#include <stdlib.h>#define TYEPCHANGE 1#d
2022-03-31 11:49:33
1305
原创 python .whl包如何在不安装的情况下解包
适用情景:1、pip安装存在问题2、不支持pip安装,如在跨平台的开发环境下,x86想看arm版本的包方法:将.whl后缀的问题换为.zip文件,然后解压.zip 文件,如:$# mv cryptography-aarch64.whl cryptography-aarch64.zip$# unzip cryptography-aarch64.zip在whl包中可能有二进制文件,whl包和debian的.deb包很像,都是编译好的文件,通过打包工具打包,然后提供给开发者,所以可以在不安装的情况
2021-09-13 11:10:16
5617
原创 IPv6格式转换(全写转简写)
有些需要支持ipv6的功能,在展示ip时当然是展示简写ip,但是在收包的时候都是全写ip,需要将其转换:# -*- coding=UTF-8 -*-def ipv6_trans(addr_v6): list_v = [] for x in addr_v6.split(":"): if x == "0000" or x == "0": list_v.append("0") else: list_v.append
2021-09-07 10:27:03
4091
原创 netfilter连接跟踪(conntrack)详述
netfilter连接跟踪(conntrack)详述1 连接跟踪来龙去脉1.1 什么是连接跟踪1.2 为什么需要连接跟踪1.3 连接跟踪的应用场景2 内核中的连接跟踪2.1 netfilter连接跟踪框架2.2 重要函数和结构体2.3 连接跟踪流程2.4 连接跟踪ftp实例2.5 连接跟踪NAT流程3 扩展连接跟踪4 总结1 连接跟踪来龙去脉1.1 什么是连接跟踪连接跟踪顾名思义是对网络连接跟踪,如果将网络比作 高速路 ,连接跟踪就像是高速路里的路上的检查站、摄像头一起的组合,可以记录下你在什么
2021-08-30 14:24:05
13079
2
原创 各编程语言间关系
传送门:https://exploring-data.com/vis/programming-languages-influence-network/整体界面:此网站中介绍了几乎全部编程语言之间的关系:谁的发展受谁影响 并且 影响了谁如c:
2021-08-16 23:52:03
546
原创 sed在shell脚本中引用变量
#!/bin/bashFILE="./network_behavior_data_cli"#FILE="/usr/local/bin/network_behavior_data_cli"LINE=`sed -n '/G_num =/=' $FILE`if [ -z $1 ];then echo "args is null" exitfitmp=`echo $1|sed 's/[0-9]//g'`[ -n "${tmp}" ]&& { echo "Args mus...
2021-07-07 08:22:17
5715
原创 relocation truncated to fit: R_MIPS_GOT_DISP against * 问题
在mips平台编译时遇到此问题解决办法是 在编译中加入 -mxgot 加入后编译通过原因:根据binutils资源 R_MIPS_GOT_DISP 在64位mips上有16位的限定GCC文件也提到了:| '-mxgot'| '-mno-xgot'| Lift (do not lift) the usual restrictions on the size of the global| offset table.| | GCC normally u.
2020-12-21 16:56:14
1129
原创 SSLError(SSLError(136, ‘[X509] no certificate or crl found (_ssl.c:4062)‘ pip3安装包报错
可能是之前有一次动了ca 且 升级了python3导致了此问题升级完pyhton导致terminal打不开 是一个python遗留问题所致解决方法:cd /usr/lib/python3/dist-packages/gi/sudo cp _gi.cpython-36m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.sosudo cp _gi_cairo.cpython-36m-x86_64-linux-gnu.so _gi_c.
2020-12-10 15:46:53
2556
原创 wireshark分析带宽流量
小鱼儿想通过wireshark分析一下某设备的网络传输特性,但是对wireshark没有那么熟悉,一度产生怀疑,希望这篇短文可以帮到你。目标:1、设备A传输带宽分析; 2、设备A传输数据包速分析;操作:统计 --> I/O图表 可以对网络实时分析。默认为 packets/s,wireshark非常棒,可以选择多种分析方法(下面有列出,一共有10种),可以切换至bytes统计带宽。...
2020-09-18 18:01:11
19973
原创 误删libc.so.6解决方案
想编译点东西?想升级libc的库?然后装好libc的更高版本后想重新搞个连接?发现libc.so.6已经存在,就动了删掉它的念头?于是。。。你就在看这里了。 大兄弟,我明白你奔溃的心理,因为我也是那样奔溃,关键是自己对内核的掌握不够深,心里没底,就更加慌了,这可能是生长的毕竟之路。----------------------------------------------为了写...
2020-03-23 14:33:35
4539
3
原创 vs2015 连接 mysql 无法定位序数
经过坎坷,终于解决了这个问题,万事开头难最近在做一个小课题,需要在windows上连接mysql,之前都是在linux上用,不需要过多配置,直接包含mysql的头文件就可使用,但是在vs上确不是那么简单(其实很简单,只是要配置很多东西),所以出现了一些问题,我就重点娓娓道来1、安装mysql 可以选安装包.msi,也可以选安装文件.msi更操作简单,基本只用...
2019-05-06 09:54:32
720
原创 编程经验
编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你能在本文中看到自己的身影。 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容...
2018-12-11 21:48:31
221
转载 常见的批处理作业调度算法
常见的批处理作业调度算法1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。2.短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实...
2018-11-30 22:05:26
1575
原创 递归等小问题的总结
递归时注意一下两个主要的问题:1、逐渐缩小问题的规模,并且可以使用相同的方法来解决子问题;2、递归一定要找到最后的结束条件,否则将陷入死循环。递归主要是:递归过程和最终结束条件关于递归过程则要找到:大问题与子问题的共同点,3生2,2生1,1为终结;在遇到不能简单调用本身的递归函数时,这时要使用一定的变换创造可递归的条件,来继续使用递归函数。计算机的实现过程和人类的想法有很大...
2018-11-29 15:30:38
281
原创 ImportError: Module "django.middleware.csrf" does not define a " CsrfViewMiddle
i also meet the same error;finally, i found there are some wrong blacks in my file,just like this:MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.mi...
2018-11-20 22:11:07
904
转载 关于使用http和tcp的建议
转:https://segmentfault.com/q/1010000002742070HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下),放在一起类比并不合适。不过猜测楼主是想对比 “标准 HTTP 协议” 还是 “自定义的协议(基于 TCP Socket)” 。一般来说,移动应用推荐使用 HTTP 协议,有很多优点:HTTP 发展成熟HTTP 几乎已经快成为一种通用...
2018-10-29 21:11:58
257
原创 C++输出连续出现的单词数
c++输出连续出现的单词数#include <iostream>#include <unistd.h>#include <string>using namespace std;int main(int argc, char const *argv[]){ string word,tmp,word_tgt; unsigned int...
2018-10-24 09:28:05
655
原创 安装win10,机械硬盘不能识别(光驱位置)
dell某型号2013年机,使用时间有些久了,使用很多软件都很影响体验浪费时间是对自己极大的残忍,尤其是在等软件开启时的焦虑很不爽,就打算安装固态拆机安装固态硬盘,装到原先机械硬盘的位置使用先前制作好的启动盘,我用的是老毛桃 装win10系统,这个过程有些心累,之前没有安装过windos系统,体验很差安装过程总是出现重启的现象:原因:镜像有问题,网络连接有问题,使用老毛挑的版本不行于是换了种方法使...
2018-07-02 21:41:04
11112
发那科FANUC机床focus报文
2024-04-24
vim配置文件及插件包括NERDTree ctags taglist EasyGrep
2023-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人