自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 不可不知的Wireshark高级特性(一)

无论你是初学者还是数据包分析专家,Wrieshark都能通过丰富的功能满足你的需要。当进行数据包分析的时候,你会发现很大一部分分析工作是在捕获数据包之后进行的。通常情况下,你会在不同时间进行多次捕获,将结果保存下来,然后进行一起分析。在这篇文章中,我们会从这些强大的功能特性中介绍一些,例如:端点和会话窗口、名称解析的细节、协议解析、数据流跟踪等等。...

2021-06-14 14:59:24 38

原创 WebSocket协议解析及代码实现

WebSocket是web浏览器与web服务器之间全双工通信的标准。该协议包括一个打开阶段握手、接着是基本消息帧、TCP之上的分层。而我们所认知的WebSocket协议则是由IEIF定义的标准,WebSocket API由W3C定为标准。该技术的主要是为了解决Ajax和Comet里的XMLHttpRequest附带的缺陷引起的问题。我们这篇文章的重点则放在握手过程、Wireshark分析数据帧等等。WebSocket 协议诞生背景WebSocket通信协议在2011年12月11日,被RFC6455定义

2021-06-07 13:38:18 22 3

原创 Linux下深入理解curl可以做什么?

curl是一个命令行工具,经常在shell脚本中使用它,但是现在我们想深入的介绍一下curl到底能做什么,以及怎么样使用curl功能。目前curl所支持常见的协议有FTP、HTTP、HTTPS、IMAP、LDAP、POP3、RTMP、RTSP、TELNET、TFTP、SCP等等。curl–详细模式如果执行curl命令没有执行或者返回我们想要期望看到的东西,例如执行以下命令:curl https://www.baidu.com/ -o saved上面的信息看,显示的信息量太少了,使用参数-v选项

2021-05-30 22:31:02 26

原创 虚拟隧道协议(L2TP)识别及实现

L2TP于1999年正式发布,是点对点隧道协议(PPTP)的扩展。它是两种协议的合并,一种来自Microsoft(PPTP),另一种来自Cisco。今天我们使用L2TP构建VPDN,对L2TP流量进行识别,并且分析L2TP隧道和控制连接过程等等。L2TP是什么意思?虚拟隧道协议(L2TP)是Internet服务提供商(ISP)用于启用虚拟专用网(VPN)操作的计算机网络协议。L2TP与OSI参考模型中的数据链路层协议相似,但实际上它是会话层协议。L2TP端口L2TP使用用户数据报协议(UDP)端

2021-05-22 22:20:52 63 2

原创 教你使用Libnids开发包做-协议分析、网络嗅探!

Libnids是基于Libpcap和Libnet而开发的,是一个用于网络入侵检测开发的专业编程接口,利用Libndis可以构建网络入侵检测系统。Libnids有哪些功能分析源码会发现,Libnids的主要功能包括捕获网络数据包,IP碎片重组、TCP数据流重组以及端口扫描攻击检测、异常数据包检测等等。这里要说一下,Libnids是基于libpcap来捕获数据包,可以设定过滤规则。对于IP碎片重组,Libnids是参考Linux内核中的IP重组而实现的。Libnids有TCP数据流重组功能,这在一些开发

2021-05-16 21:50:11 39

原创 带你认识!通用网络安全开发包(Libdnet)

Libdnet是一个通用网络安全开发包,在实际的网络安全程序设计中,经常碰到一些基本而有的操作,例如:地址的管理、地址格式的转换等等,这些常见的操作在网络安全开发中很是频繁的使用,所有前人们开发了Libdnet开发包,下面让我们一起认识这个网络安全开发包!使用Libdnet能干什么Libdnet功能非常多,不仅仅是地址操作,还有很多非常有用的功能。在实际网络中,如果我们想操作网络接口,要对网络接口进行设置管理,例如:修改网络接口,使它具备某一功能或者不具备某一功能。Libdnet还可以对路由表和A

2021-05-09 18:07:18 42

原创 SSL / TLS协议解析!SNI 识别

自Web诞生以来,我们所接触的互联网时代,都有可能存在信息的截断,而SSL协议及其后代TLS提供了加密和安全性,使现代互联网安全成为可能。这些协议已有将近二十多年的历史,其特点是不断更新,旨在与日趋复杂的攻击者保持同步。什么是SSL!什么是TLS!SSL代表安全套接字层,该协议是由Netscape于1990年代中期开发的,Netscape是当时最受欢迎的Web浏览器。SSL 1.0从未向公众发布,而SSL 2.0具有严重的缺陷。1996年发布的SSL 3.0进行了彻底的改进,为后续工作奠定了基础。而

2021-05-01 16:24:55 60

原创 GPRS核心网-GTP-C协议解析

GPRS隧道协议(GTP)是3GPP标准定义的隧道协议,用于在3G / 4G网络中承载通用分组无线服务(GPRS)。GTP用于在服务网关(S-GW)和分组数据网络网关(P-GW)以及S-GW和移动性管理实体(MME)之间为用户设备建立GTP隧道。如图-EPC架构:GTP包含哪些单独的协议?GTP包括在UDP / IP上传输的控制平面(GTP-C),用户平面(GTP-U)和计费(从GTP-C派生的GTP)流量。GTP-C-在核心GPRS网络中的S-GW和P-GW之间执行信令,以激活和停用用户会话,调

2021-04-18 21:45:26 515 3

原创 DNS传输协议解析!pcap报文中的域名获取

回想一下,当我们想访问谷歌的时候,通常输入域名(网址):https://www.google.com,其实这就是一个域名。DNS 解析过程涉及将主机名(例如 https://www.google.com)转换为计算机友好的 IP 地址(例如 64.233.161.84)。Internet 上的每个设备都被分配了一个 IP 地址,必须有该地址才能找到相应的 Internet 设备 。就像使用街道地址来查找特定住所一样。我们今天主要做的就是解析DNS协议中的域名。域名系统(DNS)IP地址是计算机识别I

2021-04-11 22:35:33 127

原创 Linux下网络数据包捕获-Libpcap

Libpcap是一个平台独立的网络数据包捕获开发包,具有高层的编程接口,它可以捕获网上上的所有数据包,包括到达其他的数据包。Libpcap使用了BPF过滤机制。具有捕获特定数据包的功能,可以过滤掉网络上不需要的数据包,而捕获想过滤的数据包。Libpcap的作用其实上面就简单的介绍了libpcap的作用,就是捕获网络数据包,它把捕获网络数据包的功能进行封装,使其使用起来非常方便,在捕获数据包的过程,可以对捕获模式进限制。那利用Libpcap捕获数据包可以实现哪些功能呢? 例如,对网络数据包进行分析,读出

2021-04-04 23:40:18 54

原创 聊一聊网络协议分析技术!网络数据包捕获技术Libpcap

在实际应用中,实现网络数据包捕获的技术代表是Libpcap。Libpcap是一个专业的跨平台的网络数据包捕获开发包。使用Libpcap可以很轻松地实现网络数据包的捕获功能。我们开始协议分析之前,要了解捕获数据包、过滤数据包、具体协议分析等。网络协议技术分析网络的核心是网络协议,网络协议分析技术在网络安全领域也是一项很重要的技术。那什么是网络协议技术分析!我们通过Wireshark抓一个数据包来看看。上面截图有很多协议,但是我们可以看出,网络协议分析是指对网络上的数据进行相应的协议分析。网络上的协议

2021-03-27 22:57:41 131

原创 RIP(路由信息协议)解析及Wireshark报文分析

路由信息协议(RIP)是一种动态路由协议,它使用跃点数作为路由度量来查找源网络和目标网络之间的最佳路径。而RIP协议封装在UDP之上,端口为520,它是一种距离矢量路由协议,具有AD值120,适用于OSI模型的应用层。RIP协议有哪些版本RIP是最古老的距离矢量协议路由协议之一,于1980年代发明。它使用跳数(源和目标网络之间的路由器数量)作为度量标准,并且配置非常简单。开发了两种版本的协议,主要是RIPv1,RIPv2,RIPngRIPv1RIPv1仅支持有类路由协议,并且在路由更新中不发送

2021-03-21 17:30:02 284

原创 邮件访问协议!IMAP协议解析

今天我们又来讲讲邮件协议,如果您曾经设置过电子邮件帐户,则可能会询问您要使用哪种电子邮件协议(POP或IMAP),对于POP,我们在这篇文章上有讲解《pop3协议解析及代码实现》。当我们所做的选择那种电子件协议,将对您发送,接收和以其他方式使用电子邮件的体验有一定影响。POP(邮局协议)曾经是电子邮件协议中最流行的类型,但如今,IMAP是大多数人的首选。在下面详细了解IMAP是什么,以及Wireshark抓包分析IMAP协议。什么是IMAP?IMAP代表Internet消息访问协议。这是一个应用程序层

2021-03-07 18:26:00 382 1

原创 FTP协议解析之Wireshark报文分析

FTP是客户端-服务器协议,客户端将请求文件,而本地或远程服务器将提供该文件。我们熟知的FTP客户端:WinSCP、WS FTP、FileZilla等都是使用文件传输协议,它是一种标准的Internet 协议。用于通过TCP / IP 连接在Internet上的计算机之间传输文件 。文件传输协议如何工作?FTP是客户端-服务器协议,它依赖于客户端和服务器之间的两个通信通道。一个用于控制对话的命令通道和一个用于传输文件内容的数据通道。客户端通过请求下载文件来启动与服务器的对话。客户端可以使用FTP上传、

2021-02-28 23:04:44 360

原创 pop3协议解析及代码实现

POP3(邮局协议3)是用于接收电子邮件的标准协议的最新版本。POP3是一种客户端/服务器 协议,是TCP/IP协议族中的一员,由RFC1939 定义。默认情况下,POP3协议可在两个端口上运行:端口110 –这是默认的POP3非加密端口;端口995 –如果要安全地使用POP3连接,则需要使用此端口。POP3命令电子邮件客户端用来从POP3服务器检索邮件的命令是一系列文本命令,邮件服务器具有单行响应。此处使用的命令和示例由RFC 1939邮局协议–版本3定义。其中,我们熟知POP3连接中最常

2021-02-15 22:03:25 345

原创 syslog协议解析源码实现及Wireshark抓包分析

本篇我们对syslong协议进行解析,通过抓包分析syslog协议报文格式,先了解syslog发展史。syslog协议多年来,用于syslog协议的标准RFC是RFC3194,现在,RFC5424是针对syslog协议提出的新标准草案。换句话说,RFC5424取代了RFC3194。RFC5424是对较早的syslog协议的急需的改进。协议的最大变化之一是遵循RFC3339的时间戳规范。在较旧的协议在时间戳方面没有指定太多。但是在RFC5424收到的日志消息中至少包含年份,月份,日期,小时和秒。syslo

2021-02-06 23:29:01 265 1

原创 Linux下检索系统的硬件相关信息(dmidecode)

当想要以可读格式检索系统的硬件相关信息,不得不讲一下今天的主角,dmidecod命令不仅显示系统的当前硬件配置,例如:处理器,RAM(DIMM),BIOS,内存,序列号等等,还能显示最大支持的CPU和内存。这方便了完全不知道硬件的情况下,可以检索此信息,而不必探究实际的硬件。dmidecode命令我们完全不知道一个命令的时候时,可以通过man手册查看。man dmidecode或者我们可以https://linux.die.net/man/8/dmidecode查阅,在某些Linux / Un

2021-01-24 19:00:26 29

原创 数据包捕获!网络时间协议(NTP)讲解

NTP是计算机系统中的时钟同步协议。它属于TCP / IP协议套件的最老部分之一,是基于用户数据报协议(UDP),端口号是123。对于同步过程,NTP依赖于协调世界时(UTC),该时间是从分层系统中的各个客户端和服务器获得的。NTP如何工作?...

2021-01-14 22:59:14 775

原创 网络协议!Wireshark抓包分析IGMP协议及代码实现

IGMP(因特网组管理协议)是一种允许主机向相邻交换机和路由器公布其多播组成员身份的协议。是TCP/IP协议组用来实现动态多播的标准协议。什么是多播多播是一种网络传输(一对多),允许一台或多台主机发送单一数据包到多台主机的TCP/IP网络技术。这样做的目的是节省网络带宽。在网络音频/视频广播的应用中(一对多或多对多),当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。IGMP版本有哪些到目前为止,IGMP有三个版本,

2021-01-09 21:22:18 770

原创 ARP协议解析-wireshark抓包分析

最近很多人发现了,我写了好几篇协议解析文章,但是大部分人都不怎么熟悉以太网点对点协议之pppoe协议讲解、PPTP协议详解及报文解析的协议,从事网络安全开发的,可能常见!今天主要研究ARP协议。什么是ARP协议ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。ARP协议在

2021-01-05 22:55:06 969

原创 以太网点对点协议之pppoe协议讲解

PPPoE是以太网点对点协议的首字母缩写(Point to Point Protocol over Ethernet)。PPPoE是从另一个称为PPP的旧协议派生的网络协议,即点对点协议。PPPoE的创建是为了管理如何通过以太网(有线网络)传输数据。这使我们可以使用以太网在多个客户端之间共享单个服务器连接。IETF在1999年发布了PPPoE协议的工作标准。PPPoE的IETF规范是RFC2516。下面开始介绍pppoe协议。以太网点对点协议(PPPoE)PPPoE的工作流程包含发现( Disco

2021-01-02 23:00:17 640

原创 PPTP协议详解及报文解析

PPTP是点对点隧道协议,建立在PPP协议上的VPN隧道技术。它已有20多年的历史。目前有这些广泛使用的VPN协议。主要是PPTP、L2TP、IPsec、OpenVPN、SSTP、IKEv2等。PPTP协议依赖于加密,认证和端对端协议(PPP)进行协商。实质上,它只需要用户名,密码和服务器地址就可创建连接。pptp协议PPTP协议不是IETF建议的标准,是由微软、3Com等厂商联合形成的产业联盟开发。 1999年7月发布的 RFC 2637是第一个正式的PPTP规格书。PPTP在控件上定义了一组作为

2020-12-19 18:25:18 947 1

原创 工作中C++ map容器正确处理方式?

map是STL的一个关联容器,map的特性就是它提供一对一的数据处理能力,其中第一个可以称为关键字(key),每个关键字只能在map中出现一次,第二个可能称为该关键字的值(value),由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。今天主要讲的是如何使用map来获取一个文件的实值(value)和键值(key)。map使用map以红黑树为底层机制,map把值与键关联在一起,可以使用键来查找词。使用map得包含map类所在的头文件 #include 中。我们创建一个文件do

2020-12-13 21:48:37 31

原创 ICMP报文详解之ping实现

ping是向网络主机发送ICMP回显请求(ECHO_REQUEST)分组,是TCP/IP协议的一部分。主要可以检查网络是否通畅或者网络连接速度快慢,从而判断网络是否正常。ping命令底层使用的是ICMP,ICMP报文封装在ip包里。它是一个对IP协议的补充协议,允许主机或路由器报告差错情况和异常状况。ICMP报文格式和各个字段的含义...

2020-12-06 14:08:09 2433 1

原创 Linux下不能忽视的xargs命令

Linux xargs命令在实际开发中很有用,用于从标准输入构建和执行命令行Linux命令。按字符切割,字节位置切割。当与find和grep等其他命令结合使用时,传递参数的一个过滤器。下面我们来了解xargs用法。如何使用xargs命令格式:somecommand |xargs -item command真正执行的命令,紧跟在xargs后面,接受xargs传来的参数。xargs的作用在于,大多数命令(比如rm、mkdir、ls)与管道一起使用时,都需要xargs将标准输入转为命令行参数。要通

2020-11-28 11:59:33 142

原创 嗅探器 — 监控TCP SYN和DNS流量

通常我们只对特定网络通信感兴趣。比如我们只打算嗅探23端口(telnet)用于搜索密码信息,或者劫持发往21端口的文件 (FTP), 也可能是DNS通信(port 53 UDP)。无论哪种情形,我们很少会盲目地嗅探所有的网络通信。在我们正式开始嗅探之前,我们应该要了解TCP/IP/UDP/ethernet 各种协议头部结构体。太网帧结构网络中传输数据时需要定义并遵循一些标准,以太网中大多数的数据帧使用的是Ethernet_II格式。下面来讲讲Ethernet_II数据帧中各字段说明:1.Desti

2020-11-22 17:30:18 174

原创 Python反爬虫措施之User-Agent

在工作中进行爬虫网站时,一般网站是不允许被爬虫访问的,经常会需要提供User-Agent。为什么要提供User-agent?因为它表示请求者的信息,可以搜集User-agent并保存,爬取过程中动态更换在User-agent,可以伪装成浏览器的形式。如果不提供User-Agent,会导致爬虫在请求网页时,请求失败。什么是User-AgentUser-Agent中文名为用户代理,简称 UA,是Http协议中的一部分,属于头域的组成部分。它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、C

2020-11-14 23:30:29 222

原创 不得不知的Linux tee命令

在linux中,我们我们重定向到文件中,可以使用>和>>。>是重定向到一个文件,>>是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。两个命令都是如果文件不存在则创建文件。但是今天我们讲的这个主角是tee命令。tee的作用是将一份标准输入多重定向,一份重定向到标准输出/dev/stdout,然后还将标准输入重定向到每个文件FILE中。tee可以把一份数据同时写入几个文件中,而>&

2020-11-08 22:09:34 337

原创 它来了,Python常见面试题汇总

最近几周,有一些小伙伴私聊我,就我收集一些Python 面试题,作为记录备用,这里整理的面试题题目主要来源于网络搜集,答案根据自己实践整理修改。下面整理的面试问题是无序的,我们就开始吧!Python 2 和 Python 3 有哪些区别?许多Python初学者都在想应该从哪个版本的Python开始。 我对这个问题的回答通常是“仅需使用您喜欢的教程所写的版本,并在以后查看差异”。但是,如果您要开始一个新项目并可以选择,该怎么办? 我要说的是,只要Python 2.7.x和Python 3.x都支持您计划

2020-11-01 22:05:19 585 2

原创 Linux下网络抓包工具(ngrep)

做后台开发,经常需要抓取数据包,查看数据流量是否正常,在windows上可以使用Wireshark,是一个网络封包分析软件,使用WinPCAP作为接口,直接与网卡进行数据报文交换。而Linux下使用tcpdump或者ngrep。这里介绍如何使用ngrep。使用ngrep抓包可以确定数据包是否已经到了某个服务模块,从而定位是哪个部分的问题。ngrep介绍及安装ngrep是一个网络抓包工具,可以用来侦听各端口的数据流入和流出。来看看man手册是如何介绍ngrep的:DESCRIPTIONngrep s

2020-10-25 21:34:00 642 1

原创 Linux C/C++如何使用.so动态链接库?

在某些时候,您可能必须在运行时加载库才能使用其功能。 在为程序编写某种插件或模块体系结构时,这种情况最常见。在Linux C/C++语言中,加载库非常简单,只需调用dlopen,dlsym和dlclose就足够了。动态装载库API动态库的运行时加载时通过一系列由动态链接器(dynamic linker)提供的API来实现的,这几个API的实现都是在libdl.so中的,且相关的声明和常量定义在头文件<dlfcn.h>中。下面列出了这些API:dlopen,打开一个库,并为使用该库做些

2020-10-17 23:11:10 379

原创 探索shell中[ ]和[[]]的区别

多数情况下[ ]和[[]]是可以通用的,单中括号 [ ],bash 的内部命令,[和test是等同的。双中括号[[ ]],[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。[ ] 和 [[]]区别[ ]中可用的比较运算符只有==和!=,可用于字符串比较的,不可用于整数比较,整数比较只能使用-eq,-gt这种形式。[[ ]] 支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[

2020-10-12 21:57:02 152

原创 如何解决C/C++指针使用的问题?

指针是一把双刃剑,用得好所向披靡,如果用的不好,则会让你的程序出现各种各样的问题,最终导致程序崩溃。常常有人这么说,C/C++程序员大部分的BUG都是在处理由指针引起的BUG上,比如常见的内存问题、野指针等等。那我们应该如果避免出现指针使用上的问题呢?不正确的指针声明方式来看看如下的声明:int *pH1,pH2;上面的声明本身没有错误,不过,可能跟我们想的不同,它把pH1声明为整数指针,而把pH2声明为整数。我们都知道,指针声明和声明其他变量一样,唯一不同的一点就是要在变量前加 *。而上面

2020-10-01 17:31:25 74

原创 Linux下CPU忙类型问题的定位与处理 - 系统调优

今天分享实际工作中,后台开发系统调优问题解决思路,下面主要讲CPU忙类型的定位与处理,可以掌握系统性能问题的定位技能。CPU占用率高问题定位下面我们通过命令top,来 确定那个cpu忙,那个线程导致cpu占用率过高。先执行top按1键:查看cpu的id字段(即idle),值越小示cpu占用率越高,本处cpu1的id很低,us很大,说明cpu 占用率过高。按F键按F键调出top功能选择菜单,按J让top显示线程运行于那个cpu上如图,然后按ENTEN。CPU占用率高问题定位

2020-09-26 23:29:28 199

原创 Linux下IO操作忙类型问题的定位与处理

在Linux中 IO操作过高会使系统性能下降甚至会导致某些进程出现卡死,段错误,系统重启,等不良现象。下面我们来介绍一下如何监控IO并且在IO操作过高时,我们应该怎么定位与处理。判断IO是否高我们使用iostat工具监控IO状态,通常我比较喜欢使用:iostat -x -t 1图中sda 的util%才18%这样,如果util百分比很高,表示磁盘忙,该值的意义为磁盘io带宽利用率,即1秒内,有多少时间没有需要处理的io请求。await表示一个io请求要等多久才能被处理,svctm表示处理一个请

2020-09-20 17:08:17 239

原创 讲一讲内存不足问题的定位与处理

今天分享实际工作中,在Linux下内存不足问题以及解决思路,希望可以帮助定位并且处理,系统性能问题。内存不足的判断做后台开发,常常会往某个设备回放报文冲流量,有时会遇到一些因为内存不足而导致编译失败的情况。最典型的是,使用gcc/g++编译出现internal compiler error:Killed,就是一个典型的因为内存(Memory)不足的错误。我们也可以提前用free命令查看。下面通过如下方法判断是否存在内存不存:执行命令 free,查看 -/+ buff开头一行的free列即为当前空闲内

2020-09-15 23:37:48 344

原创 为什么会有结构体内存对齐?

我们都知道计算机是以字节(Byte)为单位划分的,但是大部分处理器并不是按字节块来存取内存的。它一般会以2字节,4字节,8字节,16字节甚至32字节为单位来存取内存。32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占4+1=5byte?实际上,通过运行程序得到的结果是8 byte,这就是内存对齐所导致的。下面我们来介绍什么是内存对齐?对齐准则1、第一个成员在与结构体变量偏移量为0的地址2、 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。3、对齐数

2020-09-10 23:06:28 183

原创 Linux 下diff命令之python中difflib模块

Linux中diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。而python中difflib 模块包含用来计算字符序列间不同并进行处理的工具。它在比较文本方面十分有效,同时还包含了利用若干公共差异格式来生成报告的函数。下面来说明,如何使用diff命令。文本比对命令(diff)在 Windows 下,Beyond Compare是文件比较工具。主要用途是对比两个文件夹或者文件,并将差异以颜色标示。比较范围包括目录,文档内容等。在

2020-09-06 21:48:56 286

原创 Python - 模块域名解析(dnspython)

dnspython是python实现的一个DNS工具包,它支持记录类型、查询、传输并动态更新ZONE信息等等。据说dnspython可以代替dig、nslookup等工具。下面我们就来介绍dnspython模块的使用。dnspython源码安装这里介绍一下dnspython模块的安装,采用源码的安装方式,目前使用的版本是1.16.0如下安装:wget https://www.dnspython.org/kits/1.16.0/dnspython-1.16.0.tar.gztar -zx

2020-09-02 23:04:20 2564

原创 实战!性能监控脚本

性能监控脚本能够帮助开发人员或者运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据。下面我们通过编写监控性能的脚本,并判断各项数据指标是否符合预设阈值。本文最开始是使用shell脚本来写的,后面会运用python第三方系统性能信息模块psutil去监控系统。shell实现性能监控脚本下面编写脚本主要监控的信息有:1、内核信息2、主机名称3、IP地址4、登录账户5、内存与swap信息6、磁盘信息7、CPU负载使用如下命令能够获取系统运行的进程和系统利用率,例如:free

2020-08-28 23:13:20 319

Sqlite.zip

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

2019-10-06

空空如也

空空如也

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

TA关注的人 TA的粉丝

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