自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(330)
  • 资源 (1)
  • 收藏
  • 关注

原创 远程执行的艺术:客户端和服务器之间的Shell对话(C/C++代码实现)

Shell是用户与操作系统交互的接口,它管理和解释了用户输入的命令,并将这些命令传递给操作系统执行。首先,Shell作为操作系统的最外层,是用户与系统内核之间沟通的桥梁。它接收用户的输入,解释这些输入的含义,并将其转换为操作系统能够理解的形式去执行。这个过程包括了对用户键入的命令进行解析,并调用内核中相应的功能来完成任务。其次,Shell不仅是一个命令解释器,还提供了自己的编程语言,允许用户编写脚本以实现更复杂的自动化任务。

2024-04-11 23:06:51 930

原创 SSH协议详解:安全远程访问的守护神(C/C++代码实现)

在深入探讨SSH的世界之前,了解网络安全的一些基本概念至关重要。网络安全是指保护计算机网络以防止未授权访问、数据泄露或破坏。这通常涉及多种机制,包括加密、身份验证和数据完整性校验。SSH处于这些机制的核心地位,因为它为远程通信提供了一种加密隧道,确保传输的数据无法被未授权的第三方读取或篡改。SSH使用强大的加密算法来保护数据免受窃听,同时通过身份验证机制确保只有授权用户才能访问网络服务。此外,SSH的设计允许进行安全的文件传输和端口转发,进一步扩展了其在网络安全工具箱中的用途。

2024-04-07 22:24:02 788

原创 Linux C/C++下使用Lex/Yacc构建实现DBMS(Minisql)

使用Lex可以使得DBMS更有效地解析复杂的SQL语句,同时,由于Lex生成的解析器是高度优化的,因此可以提高数据库系统的性能和响应速度。Lex和Yacc是用于生成词法分析器和语法分析器的工具。在DBMS中,Yacc通常与Lex一起使用,Lex负责生成词法分析器,将输入的文本分解为词法单元,而Yacc则使用BNF(巴科斯-诺尔范式)语法规定的语法规则来定义语法分析器。总的来说,选择C语言、Lex和Yacc作为构建DBMS的工具,是因为它们可以提供高效、灵活和可靠的开发平台,同时具备广泛的支持和使用经验。

2024-03-10 21:31:45 803

原创 TCP/IP协议栈:模拟器实现基本的L2和L3功能

L2功能的模拟器实现:在模拟器中,可以实现L2的基本功能,包括数据帧封装和解封装、MAC地址的分配和管理,以及通过以太网等数据链路协议进行数据的传输。L3功能的模拟器实现:在模拟器中,可以实现L3的基本功能,包括IP地址的分配和管理,路由表的维护和更新,以及数据包的路由和转发。L2(链路层)是TCP/IP协议栈中的一层,负责数据的帧封装和物理层的传输。L3(网络层)功能模拟:L3协议主要负责数据包的路由和转发,可以模拟基本的路由表查找算法,以及实现IP协议,包括IP地址的分配、数据包的封装和解封装等功能。

2024-02-25 20:44:30 1067

原创 Linux C/C++ 原始套接字:打造链路层ping实现

原始套接字是一种特殊的套接字类型,允许应用程序直接访问和操作网络协议栈中的网络层和传输层协议。使用原始套接字可以实现更底层的网络访问和控制,例如构建和解析自定义的网络数据包。在实现链路层ping工具时,原始套接字可以用于发送和接收ICMP Echo请求和响应,从而测试网络的连通性、性能和稳定性。通过原始套接字,我们可以 bypass 操作系统的一些网络协议栈处理,直接操作链路层数据,以及分析 network path 过程中的网络延迟和网络损耗,进而诊断、分析和解决网络问题。使用原始套接字还需要注意

2024-02-07 00:04:52 1193

原创 OSPF协议解析及相关技术探索(C/C++代码实现)

OSPF(开放最短路径优先)协议使用IP协议报文来传输其协议数据,这些数据被封装在不同的OSPF报文类型中。OSPF报文直接封装在IP协议数据包中,IP协议号为89。OSPF报文头部格式对所有报文类型都是相同的,但每种报文类型携带的数据内容不同。

2024-01-25 23:46:10 1531

原创 Linux C/C++ 显示NIC流量统计信息

NIC流量统计信息是由操作系统维护的。当数据包通过NIC传输时,操作系统会更新相关的计数器。这些计数器记录了数据包的发送和接收数量、字节数等。通过读取这些计数器,我们可以获得关于网络流量的信息。为什么需要这些信息? 可以使用这些信息来监控网络性能、诊断网络问题或确定网络流量的模式。例如,如果发现某个时间段的数据包接收数量异常高,可能意味着有DDoS攻击或网络拥塞问题。

2024-01-10 22:31:09 695

原创 深入剖析pcap中的网络异常:TTL过期攻击、ARP中毒、TCP重传与重叠碎片等

网络流量数据包捕获是网络安全领域的重要部分,而pcap文件则是这一过程的常见载体。为了深入解析pcap文件中潜在的可疑网络流量,我们需要运用强大的网络安全威胁评估与审计工具。这些工具能够帮助我们捕捉、记录、检测和诊断网络中的数据传输问题,及时发现异常活动,保护我们的网络安全。在处理pcap文件时,我们主要关注的是那些可能表明潜在威胁的特征。例如,TTL(Time To Live)过期攻击、ARP中毒、TCP重传与重叠碎片、多个TTL值的识别与应对等等

2024-01-06 16:18:48 1259

原创 深入探讨DNS数据包注入与DNS中毒攻击检测 (C/C++代码实现)

DNS数据包注入与DNS中毒攻击是网络安全领域中两种重要的攻击方式。DNS数据包注入是一种攻击手段,通过向DNS服务器发送恶意数据包,以篡改其正常功能。而DNS中毒攻击则是一种针对DNS缓存的攻击,目的是通过向DNS服务器的缓存中添加恶意记录,从而使用户访问到错误的网站。

2023-12-24 15:20:56 1099

原创 Linux C/C++ 从内存转储中恢复64位ELF可执行文件

ELF(Executable and Linkable Format)是一种可执行文件和可链接文件的格式,它被广泛用于类Unix系统。ELF文件格式由以下几个部分组成:1. ELF头(ELF Header):包含了文件的基本属性和结构信息,如文件类型、入口地址、程序头表位置等。2. 程序头表(Program Header Table):包含了文件中各个段的信息,如代码段、数据段、堆栈段等。每个段都有一个对应的程序头,其中包含了该段在文件中的位置、大小、读写权限等信息。3. 节头表(Section

2023-12-10 22:49:28 1192

原创 Linux C/C++ 分析网络流量(十六进制TCP数据包分析)

在分析TCP数据包时,理解TCP协议的工作原理和报文格式是关键。TCP是一种面向连接的、提供可靠的、端到端的字节流传输服务。其头部结构包括源端口、目标端口、序列号、确认应答号等字段。序列号是在建立连接时由计算机生成的随机数作为初始值,每发送一次数据,就累加一次该数据字节数的大小,而确认应答号是指下一次期望收到的数据的序列号。抓包和分析数据包是理解TCP/IP协议的重要手段。Wireshark是最知名的网络通讯抓包分析工具,可以截取各种网络封包并显示详细信息。

2023-12-02 23:28:27 1655

原创 Linux下快速确定目标服务器支持哪些协议和密码套件

可以使用工具如sslscan或openssl s_client,通过连接到目标服务器的443端口,并通过协商SSL/TLS握手过程来获取支持的密码套件列表。在这个过程中,如果https服务器配置不当,就会存在MITM(中间人)攻击的风险,攻击者可能利用客户端支持的较弱加密算法来欺骗服务器。通过发送特定的握手请求并分析响应,可以确定目标服务器所支持的TLS协议和密码套件等信息。主要通过发送网络请求并解析服务器响应来获取目标服务器开放的端口和服务信息,再通过SSL/TLS握手获取服务器支持的密码套件列表。

2023-11-19 22:30:04 1245

原创 Linux C/C++ 入侵检测系统(IDS绕过技巧)

入侵检测系统(IDS)是一种网络安全设备,其主要功能是对网络传输进行即时监视,并在入侵检测系统(IDS)是一种网络安全设备,其主要功能是对网络传输进行即时监视,并在发现可疑传输时发出警报或者采取主动反应措施。相较于其他网络安全设备,IDS的主要特性在于其积极主动的安全防护技术。它不会跨越多个物理网段,通常只监听一个端口,不需要转发任何流量,只需在网络上被动、无声地收集所关心的报文。

2023-11-11 17:07:56 599

原创 Linux C/C++下抓包分析mysql流量(协议解析)

MySQL协议是MySQL数据库管理系统在客户端和服务器之间通信时使用的协议。它规定了客户端如何向服务器发送请求,以及服务器如何向客户端返回响应。MySQL协议是一种基于文本的协议,使用ASCII码进行通信。MySQL协议由多个命令组成,每个命令都有特定的格式和语法规则。其中包括连接、查询、插入、更新、删除等命令,用于实现数据库的各种操作。在MySQL协议中,每个命令都以一个“包”的形式传输。一个包由多个字段组成,包括命令类型、序列号、参数等。客户端发送一个命令包,服务器接收后解析出命令类型和参数,

2023-11-05 23:32:02 1332 2

原创 Linux C/C++ 实现网络流量分析(性能工具)

它可以提供网络传输的各种统计信息,包括数据包的数量、字节数、错误、丢包等。使用流量分析工具:除了抓包工具和流量监控工具,还有一些专门用于网络流量分析的工具,如tcpflow、Bro等。网络流量分析的原理基于对数据包的捕获、解析和统计分析,通过对网络流量的细致观察和分析,帮助管理员了解和优化网络的性能、提高网络安全性,并快速排查和解决网络故障和问题。/proc/net/dev:这个文件提供了网络设备的收发网络流量统计信息,包括每个网络接口的接收和发送数据包数量、错误统计、丢弃的数据包数量等。

2023-10-29 22:19:41 975 1

原创 Server Name Indication(SNI),HTTP/TLS握手过程解析

Server Name Indication(SNI)是一种TLS扩展,用于在TLS握手过程中传递服务器的域名信息。在未使用SNI之前,客户端在建立TLS连接时只能发送单个IP地址,并且服务器无法知道客户端请求的具体域名。这导致服务器需要使用默认证书进行握手,无法正确选择合适的证书。使用SNI扩展后,客户端在发送ClientHello消息时会包含所请求的服务器的域名。服务器根据该域名来选择对应的证书进行握手,从而实现了多个域名共享同一个IP地址并使用不同证书的能力。

2023-10-22 23:18:20 1493

原创 Linux C/C++ 嗅探数据包并显示流量统计信息

嗅探数据包并显示流量统计信息是网络分析中的一种重要技术,常用于网络故障诊断、网络安全监控等方面。具体来说,嗅探器是一种可以捕获网络上传输的数据包,并将其展示给分析人员的软件工具。在嗅探器中,使用pcap库是一种常见的方法,因为它提供了一种跨平台的接口,可以有效地访问操作系统的数据包捕获功能。

2023-10-15 15:38:15 984 1

原创 理解http中cookie!C/C++实现网络的HTTP cookie

HTTP嗅探(HTTP Sniffing)是一种网络监控技术,通过截获并分析网络上传输的HTTP数据包来获取敏感信息或进行攻击。其中,嗅探器(Sniffer)是一种用于嗅探HTTP流量的工具。在HTTP嗅探中,cookie是一种常用的敏感信息。Cookie是由服务器发送到用户浏览器并存储在本地的一种小型数据片段。它通常用于跟踪用户会话状态,保存用户登录信息等。因此,cookie对于攻击者来说具有很高的价值。

2023-10-11 22:50:07 489

原创 Linux C/C++下收集指定域名的子域名信息(类似dnsmap实现)

dnsmap(DNS Mapping)是一种将域名解析为特定 IP 地址的技术。其操作原理是通过修改本地 DNS 服务器的配置,将特定的域名解析为固定的 IP 地址。当用户访问这个域名时,本地 DNS 服务器会返回预设的 IP 地址,从而实现跳过原网站、访问特定内容的目的。

2023-09-25 23:24:27 569

原创 Linux C/C++实现SSL的应用层VPN (MiniVPN)

SSL协议,全称安全套接层(Secure Sockets Layer),是一种广泛应用于互联网的安全协议,主要在两个通信端点之间建立安全连接,以保护数据的传输安全。具体来说,SSL通过使用公钥加密算法实现数据的加密和解密,在客户端和服务器之间建立安全的通信通道。它还使用数字证书来验证通信双方的的身份,一旦身份验证成功,SSL就会使用加密算法对通信数据进行加密,确保数据在传输过程中不被篡改或窃取。VPN是一种可以在公共网络上建立加密通道的技术,通过这种技术可以使远程用户访问公司内部网络资源时,实现安全的连

2023-09-17 22:45:07 1582

原创 OSPF链路状态(LS)路由算法(C/C++代码实现)

路由算法主要用于提高网络质量。通过使用该算法,可以确定适合网络的最佳路由。该算法适用于特定的协议。可以使用不同的算法方法来计算路线。根据网络类型及其应用,可以应用每种算法。该算法具有许多特性,如稳定性、正确性、效率、简单性、公平性和鲁棒性。路由算法在连接不同系统以通过网络进行通信方面发挥着重要作用。路由器的主要职责是识别每个设备、其结构、存在和传输数据包。通过使用这些算法,可以在几秒钟内通过网络传输数据,可以安全地传输数据,并可以保持数据的质量。

2023-09-02 23:43:09 2005 1

原创 路由攻击(ospf attack)及C/C++代码实现

开放式最短路径优先(OSPF)是应用最广泛的域内路由协议之一。不幸的是,它有许多严重的安全问题。OSPF上的伪造是可能导致路由循环和黑洞的最关键的漏洞之一。大多数已知的OSPF攻击基于伪造攻击者控制的路由器的链路状态通告(LSA)。如果攻击者控制的路由器地理位置优越。然而,这些攻击只能伪造路由域的拓扑结构;因此它们的效果通常是有的。更多强大的攻击会影响其他未受控制的路由器的LSA攻击者。然而,这些攻击通常会引发“反击”受害者路由器的机制,该机制通告校正LSA攻击的影响是不持久的。

2023-08-27 15:37:30 892 1

原创 密码破解!字典攻击(C/C++代码实现)

字典攻击是一种通过系统地将字典中的每个单词作为密码输入,从而侵入受密码保护的计算机、网络或其他IT资源的方法。字典攻击也可以用于查找解密加密消息或文档所需的密钥。字典攻击之所以有效,是因为许多计算机用户和企业坚持使用普通单词作为密码。这些攻击通常针对使用多字密码的系统不成功,也经常针对由大小写字母和随机组合的数字组成的密码不成功。在密码要求很高的系统中,暴力攻击方法有时是有效的,在这种方法中,字符和空格的每一个可能组合都要测试到一定的最大长度。然而,暴力攻击可能需要很长时间才能产生结果。

2023-08-13 22:52:46 2319

原创 将shllcode注入Linux中正在运行的进程(C/C++代码实现)

进程注入是一种在单独的活动进程的地址空间中执行任意代码的方法。在另一个进程的上下文中运行代码可以允许访问该进程的内存、系统/网络资源,以及可能提升的权限。通过进程注入执行也可能逃避安全产品的检测,因为在合法进程下执行是被掩盖的。有许多不同的方法可以将代码注入进程,其中许多方法滥用合法功能。这些实现适用于每个主要的操作系统,但通常是特定于平台的。更复杂的样本可以利用命名管道或其他进程间通信(IPC)机制作为通信信道来执行对分段模块的多个进程注入,并进一步逃避检测。

2023-07-30 23:18:48 737

原创 Linux C/C++实现Socks5代理及Socks5协议抓包分析

套接字安全(SOCKS)是一种类似HTTP/S、TCP等的网络协议,用于促进服务器之间的连接。它使用代理服务器在请求信息的用户和目标服务器之间路由数据包。这种类型的代理服务器是SOCKS代理服务器,可以路由任何程序或协议创建的任何类型的流量。SOCKS有两个版本——SOCKS5和SOCKS4。SOCKS5支持不同的身份验证方法和UDP代理,而SOCKS4则不支持。SOCKS5代理更安全,因为它们提供完整的TCP连接并使用SSH协议和身份验证机制。因此,传输中的每个数据包都经过验证,只有安全的数

2023-07-16 22:49:46 2694 1

原创 DNS-over-HTTPS(DoH)详解与C/C++代码实现

HTTPS上的DNS(DoH)是一种相对较新的协议,通过超文本传输协议安全加密会话传递DNS查询来加密域名系统流量。DoH试图通过隐藏DNS查询来改善在线隐私。 DoH的工作原理与DNS类似,但HTTPS会话保留请求并最大限度地减少查询期间交换的信息。网络浏览器,如Mozilla的Firefox、微软的Edge和谷歌的Chrome,都具有使用加密DoH的功能,目的是提高用户的数据隐私和安全性。

2023-07-02 23:19:43 2543

原创 LLDP(链路层发现协议)详解及C/C++代码实现

LLDP(链路层发现协议)是一种IEEE标准协议(IEEE 802.1AB),它定义了封装在以太网帧中的消息,目的是通过默认情况下每30秒从每个端口定期重传一次,为设备提供一种向LAN(局域网)上的其他设备宣布基本设备信息的方式。它是一个类似于CDP(思科发现协议)的标准化协议。它是一个独立于供应商的链路层协议,用于网络拓扑、故障排除和网络管理自动化。

2023-06-24 22:44:37 5628

原创 Linux下C/C++ 多线程SSH扫描与暴力攻击

如果没有SSH,绝大多数网络管理员将无法完成他们的工作。SSH协议取代了Telnet和FTP等不安全的机制,成为远程访问和管理的事实标准。SSH不仅确保了网络和系统之间交换的数据的机密性和完整性,而且还实现了基于公钥的身份验证。但是,SSH的默认安装并不一定安全。而且,如果管理员不遵循最佳实践,SSH可能会使网络容易受到各种攻击。让我们研究一下安全管理员应该在策略和过程中写入的关键SSH最佳实践,以确保其组织的SSH安装是安全的。

2023-06-11 23:12:30 1130

原创 SMTP简单邮件传输协议(C/C++ 发送电子邮件)

SMTP是用于通过Internet发送电子邮件的协议。电子邮件客户端(如Microsoft Outlook或macOS Mail应用程序)使用SMTP连接到邮件服务器并发送电子邮件。邮件服务器还使用SMTP将邮件从一个邮件服务器交换到另一个。它不用于从服务器下载电子邮件;相反,IMAP和POP3协议检索邮件。

2023-06-04 15:30:43 3625

原创 Linux下C/C++实现DNS查询(DNS QUERY)

DNS 的全称是 Domain Name System 或者 Domain Name Service,它主要的作用就是将人们所熟悉的网址 (域名) “翻译”成电脑可以理解的 IP 地址,这个过程叫做 DNS 域名解析。域名是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。

2023-05-18 22:42:01 2415

原创 Linux下C/C++(端口扫描技术)

端口扫描技术向目标系统的TCP/UDP端口发送探测数据包,记录目标系统的响应,通过分析响应来查看该系统处于监听或运行状态的服务。最后,端口扫描是网络犯罪分子用来识别计算机开放端口的一种方法。计算机利用许多端口来实现其功能和操作。其中包括打开和关闭端口。计算机网络中的开放端口被网络攻击者利用,通过这种机制进入系统进行端口扫描网络犯罪。

2023-05-09 21:46:36 1621 1

原创 Linux下C/C++实现(网络流量分析-NTA)

网络流量分析解决方案领先于其他网络安全工具,如入侵检测系统(IDS)、入侵防御系统(IPS)和防火墙。虽然这些工具主要关注网络周边的流量,但网络流量分析分析所有类型的网络通信,包括传统的TCP/IP数据包、云流量、虚拟网络流量以及API和SaaS交互。

2023-04-23 22:33:23 1615

原创 Linux下C/C++ SNTP网络时间协议实现

对于许多应用程序,特别是在小型计算机和微控制器上,不需要NTP的最终性能。便开发了简单网络时间协议(SNTP),为功能较弱的计算机提供时钟同步,而这些计算机不需要NTP的复杂性。而简单网络时间协议(SNTP)是一种用于同步计算机网络时钟的互联网协议,是网络时间协议(NTP)的一个子集。与NTP相比,需要更少的内存和处理能力。它用于精确时钟同步不是关键的应用程序。使用TCP/IP协议套件,UDP端口123。

2023-04-16 21:59:19 2000 1

原创 CDP思科发现协议解析及C/C++代码实现

CDP是一种专有的第二层思科网络协议。它是一种网络发现工具,在cisco设备上运行,有助于发现连接到网络的cisco设备。CDP有助于有效地检查设备,而无需实际进行物理检查。CDP允许用户使用一些显示命令来查看连接设备的信息,例如有关本地端口、远程端口、主机名、设备平台等的信息。

2023-04-09 19:51:48 1488 1

原创 Linux下C/C++ redis协议(RESP)解析

Redis 基于 RESP (Redis Serialization Protocal)协议来完成客户端和服务端通讯的。RESP 本质是一种文本协议,实现简单、易于解析。底层采用的是TCP的连接方式,通过tcp进行数据传输,然后根据解析规则解析相应信息。

2023-04-03 23:56:14 1060

原创 Linux C/C++实现随机密码生成器

当您使用用户名和密码对服务进行身份验证时,强密码非常重要。一个强密码必须至少有14个字符,并有大小写字母和字母等变体。大多数时候,长密码被认为比短密码安全得多,因为它很难获得。下面我们将学习使用Linux命令行创建安全密码的多种方法。我们将研究使用Linux命令行创建更强、更安全的密码的多种不同方法。如果要使用命令行创建强密码,可以使用多种方法和实用程序。我们将讨论其中的许多方法,可以根据需要选择其中一种方法来创建密码。

2023-03-28 22:30:53 685

原创 Linux 下ELF 文件理解及C/C++代码实现

ELF 就是 Executable and Linkable Format,它定义了可重定位文件、可执行文件和 共享目标文件的结构。这种格式能让操作系统正确解释文件中的机器指令。

2023-03-19 21:11:32 1175 1

原创 Linux下C/C++ 网络扫描(主机扫描技术)

主机扫描是在可达状态下检测,局域网下的 ARP 扫描和广域网下的 ICMP Echo 扫描、ICMP Sweep 扫描、ICMP Broadcast 扫描、ICMP Non-Echo 扫描都是基本的扫描技术。如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。主机扫描是网络扫描的基础,通过对目标网络中主机IP地址的扫描,从一堆主机中扫描出存活的主机,然后以他们为目标进行后续的攻击。我们只需要对目标主机发送特定的数据包,如果目标主机有回应,那么我们就认为该主机是存活的;

2023-03-09 22:49:20 1049

原创 Linux下 C/C++ NTP网络时间协议详解

NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议。它是通过网络在计算机系统之间进行时钟同步的网络协议。NTP 在公共互联网上通常能够保持时间延迟在几十毫秒以内的精度,并在理想条件下,它能在局域网下达到低于一毫秒的延迟精度。它使用用户数据报协议(UDP)在端口 123 上发送和接受时间戳。它是个 C/S 架构的应用程序。

2023-03-01 23:01:54 2196

原创 Linux C/C++ 多线程TCP/UDP服务器 (监控系统状态)

Linux环境中实现并发TCP/IP服务器。多线程在解决方案中提供了并发性。由于并发性,它允许多个客户端同时连接到服务器并与服务器交互。

2023-02-19 22:09:06 2151 1

Sqlite.zip

本程序用sqlite3实现了增、删、改、查、还有对数据进行排序等功能。使用一个线程处理输入的字符,进行字符对比,做相应的功能处理。

2019-10-06

空空如也

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

TA关注的人

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