IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python-TCP协议 -> 正文阅读

[网络协议]Python-TCP协议

TCP协议:


传输控制协议,是一种面向连接的,可靠的,基于字节流的传输通信协议,由IETF的RFC 793定义。
传输数据需要经过创建连接,数据传送,终止连接三步骤。TCP协议要建立相关的链接,才能发送数据。
这一过程可以通俗的说为“三次握手,四次挥手”
TCP三次握手:发生在创建连接的时候,形象点说:(第一次)客户端问服务端你准备好了吗,(第二次)服务端告诉客户端装备好了,并且问客户端你准备好了吗,(第三次)客户端说我准备好了。????????

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,
等待对方回答SYN+ACK[1],并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以
防止产生错误的连接。
TCP四次挥手:发生在终止连接的时候,通俗点说:第一次,客户端告诉服务端我不会给你发数据了,第二次服务端告诉客户端我收到你发生的信息了,第三次服务端给客户端发生数据说我也不给你发了,第四次客户端给服务端说我知道了。
?

import optparse
from scapy.all import *

from scapy.layers.inet import TCP, IP


def scan(ip):
    try:
        dport = random.randint(1, 65535)
        packet = IP(dst=ip) / TCP(flags='A', dport=dport)
        respone = sr1(packet, timeout=1.0, verbose=0)#发送数据包
        if respone:
            if respone[TCP].flags == 'R' or respone[TCP].flags == 'RA':
                time.sleep(0.5)
                print(ip + ' ' + "is up")
            else:
                print(ip + ' ' + "is down")
        else:
            print(ip + ' ' + "is down")
    except:
        pass


def main():
    parser = optparse.OptionParser("Usage: %prog -i <ip address>")
    parser.add_option("-i", '--ip', type="string", dest="targetIP", help="specify the IP address")
    options, args = parser.parse_args()
    if '-' in options.targetIP:
        for i in range(int(options.targetIP.split('-')[0].split('.')[3]), int(options.targetIP.split('-')[1]) + 1):
            scan(options.targetIP.split('.')[0] + '.' + options.targetIP.split('.')[1] + '.' +
                 options.targetIP.split('.')[2] + '.' + str(i))
    else:
        scan(options.targetIP)


if __name__ == '__main__':
    main()

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 16:04:59  更:2021-12-11 16:05:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:25:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码