亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python使用scapy掃描內(nèi)網(wǎng)IP或端口的方法實(shí)現(xiàn)

 更新時(shí)間:2023年10月26日 10:22:23   作者:DeltaTime  
Scapy是一個(gè)Python程序,使用戶能夠發(fā)送,嗅探和剖析并偽造網(wǎng)絡(luò)數(shù)據(jù)包,本文主要介紹了python使用scapy掃描內(nèi)網(wǎng)IP或端口的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

地址信息在IP層, 可以利用 ICMP 或 ARP 協(xié)議數(shù)據(jù)包探測(cè)IP信息.
ICMP協(xié)議可以利用ping工具發(fā)送數(shù)據(jù)包, 但是防火墻有可能禁止ICMP, 無(wú)法有效探測(cè), 可以考慮使用ARP探測(cè).

利用ICMP協(xié)議探測(cè)內(nèi)網(wǎng)IP

def ping_ip(ip_fex):
    # 掃描范圍: 128~254
    for i in range(128, 255):
        ip = f'{ip_fex}.{i}'
        print(f'\r{ip}', end='')
        output = os.popen(f'ping -n 1 -w 100 {ip} | findstr TTL=').read()
        if len(output) > 0:
            print(f"\n{ip} online")

if __name__ == '__main__':
	ping_ip('192.168.110')
	

利用ARP協(xié)議探測(cè)內(nèi)網(wǎng)IP

def ip_thread(start, ip_fex):
    for i in range(start, start + 20):
        ip = f'{ip_fex}.{i}'  # 目標(biāo)ip
        try:
            pkg = ARP(psrc=f'{ip_fex}.1', pdst=ip) # 偽造ARP廣播
            reply = sr1(pkg, timeout=1, verbose=False) # 發(fā)送ARP并獲取響應(yīng)包
            if reply:
                print(f'\n{ip}->{reply[ARP].hwsrc}') # 顯示MAC地址
            else:
                print(f'\r{ip} ...', end='')
        except Exception as e:
            print(e)

def ip_scan(ip_fex):
	# 關(guān)閉警告
    import logging
    logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
	# 端口范圍 1~254
    for i in range(1, 255, 20): 
        threading.Thread(target=ip_thread, args=(i, ip_fex)).start()
        

利用TCP協(xié)議探測(cè)端口

端口信息在TCP層, 可以使用TCP協(xié)議數(shù)據(jù)包探測(cè)端口是否開(kāi)放
偽造 SYN 數(shù)據(jù)包, 根據(jù)響應(yīng)數(shù)據(jù)中的標(biāo)志位 flags 來(lái)判斷端口是否正常響應(yīng).
SYN: 0x002
ACK: 0x010
SYN-ACK: 0x012

def scan_port(ip):
    for port in range(22, 100):
        try:
            pkg = IP(src='192.168.112.123', dst=ip) / TCP(dport=port, flags='S')
            reply = sr1(pkg, timeout=1, verbose=False)
            if reply:
                if reply[TCP].flags == 0x12: # SYN-ACK
                    print(f'port->[{port}]')
        except Exception as e:
            print(e)

 到此這篇關(guān)于python使用scapy掃描內(nèi)網(wǎng)IP或端口的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python scapy掃描內(nèi)網(wǎng)IP或端口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論