可以用来监控一些端口. import socket def check_server(addr, port): s = socket.socket() try: s.connect((addr, port)) return True except socket.error: return False def alert(p): from email.mime.text import MIMEText import smtplib sender = "admin@qq.com" rece…
[Socket] 本文记录了一些socket模块的简单应用,对于具体原理还没来得及深究. ■ 利用socket模块进行端口连接验证和扫描 在linux中常用nc命令来进行远端端口是否开放的验证.但是这个命令并不是系统自带的,所以还比较麻烦.如果利用python自带的socket模块就可以比较自由地进行端口验证了.是这样用的: import socket def port_check(host,port): sk = socket.socket(socket.AF_INET,socket.SOCK…
1.面向对象及面向过程 1)面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点:扩展性差 2)面向对象:核心是对象二字,对象指特征与技能的结合体 基于该思想编写程序就好比在创造一个世界,世界是由一个个对象组成,是一种‘上帝式’的思维方式 优点:可扩展性强 缺点:变成复杂度高,极容易出现过度设计的问题 3)类:对象是特征与技能的结合体,类就是一系列对象相似的特征与技能的结合体 在现实生活中…
/作者:Kali_MG1937 CSDN博客:ALDYS4 QQ:3496925334/ 注意!此文章被作者标记到 黑历史 专栏中,这意味着本篇文章可能存在 质量低下,流水账文,笔法低质 的问题 为了防止恁大脑降级,请谨慎观看,,, 强烈建议您转入作者的其他非黑历史专栏进行浏览 本文是由作者于18年初所写,18年底之后逐篇上传至CSDN,存在一系列问题,故转移至黑历史专栏中 Metasploit的安卓载荷模块已经非常完善了,但某些情况下,该模块还有一些我需要却没有的功能 既然不能通过反编译载荷来…
利用socket监控服务器端口,端口不通时,发邮件提醒 import yagmail #导入yagmail模块 import re #导入re模块,进行正则匹配 import socket #导入socket模块 def sendmail(subject,contents): #连接邮箱服务器 yag = yagmail.SMTP(user='发件人邮箱',password='授权密码',host='smtp.163.com') #发送邮件 yag.send(to='收件人邮箱',subject…
功能: 1.使用定时任务执行脚本,检查主机存活信息2.将主机存活信息写入指定文件3.发现宕机的主机后给用户发邮件提醒备注:因为139邮箱在接受到邮件后会自动给用户发送条短信告知(且此服务免费),所以间接的实现了短信提醒功能. 代码如下: # -*- coding: utf-8 -*- import os import time import smtplib from email.mime.text import MIMEText from email.header import Header #…
Python的Asyncore异步Socket模块及实现端口转发的例子 Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构. 只有两种方式使一个程序在单处理器上实现"同时做不止一件事".多线程编程是最简单和最流行的方式,但是有另一种很不一样的技术,可以使得我们保持多线程的几乎所有优势,却不用真正使用多线程. 如果你的程序主要是受I/O限制的,这是唯一可行的方式.如果你的程序是受处理器限制的,则先发制人的调度线程可能是你真正需要的.但是,很少网络服务器是受处理器…
I/O完成端口原理见上一篇(可点击这里) 10.5.4.4 利用I/O完成端口实现Socket通信 (1)Accept和AcceptEx流程的比较 ①采用accept方式的流程示意图如下(普通的阻塞函数) ②采用AcceptEx方式的流程示意图如下(可工作在阻塞或非阻塞方式). [注意]:AcceptEx与Accept的不同 ①AcceptEx是在客户端连入之前,就把客户端的Socket建立好了.也就是说,AcceptEx是先建立的Socket,然后才发出的AcceptEx调用.即在进行客户端的…
socket单线程通讯,只能单线程通讯,不能并发 socket是基于(TCP.UDP.IP)的通讯.也叫做套接字 通讯过程由服务端的socket处理信息发送,由客户端的socket处理信息接收. socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作.sock…
主要使用的模块是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套接字对象.套接字也有自己的方法集,这些方法可以实现基于套接字的网络通信. 1.socket类型 构造函数: socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) family: 套接字地址家族,Python支持 AF_INET (默认),AF_INET6, AF_UNIX, AF_CAN 和 AF_RDS type:套接…