Python是一種高級(jí)編程語(yǔ)言,被廣泛應(yīng)用于網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)分析和人工智能等領(lǐng)域。在網(wǎng)絡(luò)爬蟲(chóng)方面,Python可以非常方便地抓取網(wǎng)絡(luò)包并進(jìn)行數(shù)據(jù)分析。
import pcapy from scapy.all import * # 配置網(wǎng)卡 pcap_ifs = pcapy.findalldevs() pcap_if = pcap_ifs[0] cap = pcapy.open_live(pcap_if, 65536, True, 1000) # 抓取網(wǎng)絡(luò)包 while True: (header, packet) = cap.next() pkt = Ether(packet) if pkt.haslayer(TCP): print(pkt[TCP].dport) if pkt.haslayer(UDP): print(pkt[UDP].dport)
該代碼使用了pcapy和scapy庫(kù)來(lái)抓取網(wǎng)絡(luò)包。首先,我們需要配置網(wǎng)卡,然后使用open_live函數(shù)打開(kāi)網(wǎng)絡(luò)設(shè)備。在while循環(huán)中,我們可以使用next函數(shù)來(lái)獲取下一個(gè)數(shù)據(jù)包。使用Scapy庫(kù),我們可以輕松地檢測(cè)網(wǎng)絡(luò)包中的TCP和UDP層,并輸出相應(yīng)的端口信息。