扫描端口

忘记了实验室的ip,但是知道网段。Ps.速度有点慢

#! /usr/bin/env python
#-*- coding=utf-8 -*-
import socket
def Scan(IpAddr,port):
    if len(port)<1:
        port=3389#默认端口
    s=socket.socket()
    for p in range(253,2,-1):
        addr=IpAddr+"."+str(p)
        try:
            s.connect((addr,port))
            print addr
        except socket.error,e:
            pass
if __name__=='__main__':
    IpAddr=raw_input("please input the Ip segment:")
    port=raw_input("please input the port:")
    Scan(IpAddr,port)

输入:

192.168.0

80

这是开启多线程进行扫描:

#! /usr/bin/env python
#-*- coding=utf-8 -*-
import threading , time , Queue , socket
port = [139,445,80,135,137,1433,3389,8080,9015,137,21,23,25,1502]#扫的常用端口。

class ScanThread(threading.Thread):
    def run(self):
        global queue#,Q
        ip = queue.get()
        for p in port:#其实这里可以in range() 就可以添加大点的端口范围了。
            s = socket.socket()
            s.settimeout(3)
            try:
                s.connect((ip,int(p)))
                print '\n========================================================='
                print "IP:%s , Port:%d , Open" %( ip , int(p) )
                print '=========================================================\n'
                sp = "IP:%s , Port:%d , Open" %( ip , int(p) )
                #Q.put("%s %d",ip,int(p))
            except:
                pass
            s.close()
        queue.task_done()

target = raw_input("输入网段(192.168.12):")
x=target.split(".")
if len(x)>3:
    target=x[0]+"."+x[1]+"."+x[2]
#Q=Queue.Queue()

queue = Queue.Queue()
for ip in range(254,2,-1):
    queue.put(target+".%d" % ip)
for p in range(254,2,-1):
    ScanThread().start()
queue.join()


使用 Nmap 扫描目标主机的开放端口是一种常见的网络探测方法,适用于安全评估、漏洞发现等场景。以下是详细的操作方式和命令示例。 ### 基本扫描命令 最基本的扫描方式是使用 `nmap` 后跟目标主机的 IP 地址,例如: ```bash nmap 10.41.19.194 ``` 该命令会执行默认的扫描行为,即对最常见的 1000 个端口进行扫描,并报告哪些端口处于开放状态。输出结果中将列出开放的端口、协议类型(TCP/UDP)、端口状态以及对应的服务名称[^1]。 ### 指定扫描端口范围 如果希望仅扫描特定范围内的端口,可以使用 `-p` 参数指定端口范围。例如,扫描目标主机的 22 到 80 端口: ```bash nmap -p 22-80 10.41.19.194 ``` 这将减少扫描时间并专注于感兴趣的端口区间[^1]。 ### TCP 连接扫描 使用 `-sT` 参数可以执行完整的 TCP 连接扫描,这种方式较为直接但容易被防火墙或入侵检测系统记录: ```bash nmap -sT 10.41.19.194 ``` ### SYN 扫描(半开放扫描) SYN 扫描(又称半开放扫描)使用 `-sS` 参数,它不会完成三次握手,因此更隐蔽且不易被检测到: ```bash nmap -sS 10.41.19.194 ``` ### UDP 扫描 对于需要检查 UDP 端口的情况,可以使用 `-sU` 参数进行 UDP 扫描。由于 UDP 是无连接协议,扫描结果可能不如 TCP 扫描准确: ```bash nmap -sU 10.41.19.194 ``` ### 服务版本检测 若需识别开放端口上运行的服务及其版本信息,可添加 `-sV` 参数: ```bash nmap -sV 10.41.19.194 ``` 此功能有助于进一步了解目标主机上可能存在的潜在漏洞[^4]。 ### 输出结果解析 扫描完成后,Nmap 会返回类似以下格式的结果: ``` Starting Nmap 7.70 ( https://nmap.org ) at 2024-07-11 16:00 CST Nmap scan report for 10.41.19.194 Host is up (0.88s latency). Not shown: 986 closed ports PORT STATE SERVICE 22/tcp open ssh 514/tcp filtered shell 1199/tcp open dmidi ... ``` 其中,“open”表示端口开放,“filtered”表示端口可能被过滤(如防火墙阻挡),而“closed”则表示端口关闭。 ### 权限要求 部分高级扫描功能(如 SYN 扫描)需要管理员权限才能执行。在 Linux 或 macOS 上,通常需要使用 `sudo` 提升权限: ```bash sudo nmap -sS 10.41.19.194 ``` 在 Windows 上,则需以管理员身份运行命令提示符或 PowerShell。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值