一、ARPRARP作用:1. ARP(地址解析协议,Address Resolution Protocol)是一种工作在OSI模型第二层(数据链路层)的协议,用于将IP地址转换为对应的物理MAC地址;2. ARP是IPv4协议栈中的一个重要组成部分,主要用于同一局域网内设备之间的通信, 因为同一局域网中的两台主机进行通信时,需要通过MAC地址进行定位,然后才 …
strncat函数
引言2014年,支持安全传输层协议的开源库 OpenSSL 曝出惊天漏洞,在其 TLSDTLS Heartbeat 扩展中,存在一个缓冲区溢出漏洞。此即是“大名鼎鼎”的 Heartbleed(心脏出血)漏洞。这个漏洞可以让攻击者获得经过加密的数据,还能盗取用于加密的密钥。这看起来确实有点讽刺,专注于安全防护的组件,本身却因为一个小小的漏洞而变得毫无安全感。O …
二开背景suricata是一款高性能的开源网络入侵检测防御引擎,旨在检测、预防和应对网络中的恶意活动和攻击。suricata引擎使用多线程技术,能够快速、准确地分析网络流量并识别潜在的安全威胁,是众多IDS和IPS厂商的底层规则检测模块。前段时间搭了个suricata引擎播包测试流量规则,发现原生的suricata引擎并不能获取规则匹配的位置、命中的字符串等 …
监控Linux主机发起DNS请求的进程是应急响应中经常遇到的一个问题。虽然可以通过systemtap或者ebpf的方式实现,但是在实战场景下两者的安装都非常麻烦。ebpf不支持低版本的内核,升级内核又需要重启,真实场景下不太可能实现。并且大部分内核只支持源码编译安装ebpf,过程非常繁琐。systemtap必须安装当前指定内核版本的debuginfo,依赖多 …
作为一门具有广泛应用的编程语言,C语言虽然强大,但也同时存在一些常见的易错用法。这些错误不仅会给程序带来难以预料的错误结果,还会浪费开发者们宝贵的时间和精力。为了帮助读者更好地避免这些陷阱,本文将深入剖析C语言的10个易错用法,通过代码示例和详细说明,助你写出高质量、安全可靠的代码。指针引发的“野指针”问题指针是C语言的重要特性,但操作不当可能导致未初始化的 …
1、逻辑运算符&&表示与操作,当其左边表达式为【 】时,右边的表达是不会进行运算的。答案: 假2、逻辑运算符||表示或操作,当其左边表达式为【 】时,右边的表达是不会进行运算的。答案: 真4、运算符“&&”表示与操作,当且仅当运算符两边的表达式结果都为真时,其结果才为【 】,否则结果为假。答案:真5、运算符“||”表示或操作,当且仅当运算符两边的表达式结果都 …
作者:garrycai,腾讯PCG后台开发工程师| 导语 想必每一位 C++ 选手在工作中都难免会踩中 Coredump 地雷,而我作为 C++ 新手也与 Coredump 有过激烈的战斗,下文正是我在排查 Coredump 过程中总结的一些心得经验。1. 概念Coredump(核心存储)是进程异常终止或崩溃时的内存快照,操作系统会在程序发生异常而异常在进程 …
Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样进程就可以很方便地访问内存,更确切地说是访问虚拟内存。1、什么是虚拟内存假设某个进程需要100MB的空间,而内存假设是16MB的,如果进程直接使用物理地址,就会因为内存不足而无法运行。既然进程不是直接访问物理内存,那么进程中涉及的内存地址当然也不是物理内存地址。而是虚拟的 …
在C语言中,因为字符串没有被封装成对象,所以直接用==、!=比较。C语言提供了一个用于字符串比较的函数类型strcmp。 注意,字符串和字符完全不同,因为不同的编译器实现问题,返回值的情况也有所变化。strncat()函数,用于两个字符串的拼接。(1)函数原型 intstrcmp(const char *_Str1,const char *_Str2);( …
1. strlenstrlen是用来求字符串长度的函数,字符串长度就是字符串中包含的字符的个数,但是不包含字符串结尾的 ‘’ 实现strlen有三种方法:(1)定义一个计数器size_t mystrlen(const char* str){ size_t count&nbs …
- 1
