用python scapy生成網路資料報

2021-06-27 06:49:46 字數 916 閱讀 6421

協議測試是網路程式設計中乙個重要環節,通過協議測試確保通訊雙方對協議的理解和實現是一致的。wireshark是強大的網路協議分析工具,能夠捕獲網路資料並進行協議解析,可是光有這個還不夠,還需要能夠生成指定內容的網路資料報的工具(packet forging / generation / crafting tool)。在wireshark的wiki中列出了一些

traffic generation tool,嘗試了scapy,還是挺不錯的。

scapy的專案主頁是

它是強大的互動式資料報操作工具,支援對廣泛的網路協議解碼和生成,進行資料報傳送、捕獲、請求匹配應答等等。scapy在windows平台的安裝見

乙個簡單的例子如下:

import sys

import struct

from scapy.all 

import *

data = struct.

pack(

'=bhi

',  0x12, 

20, 

1000)

pkt = ip(src=

'192.168.1.81

', dst=

'192.168.1.10

')/udp(sport=

12345,dport=

5555)/data

send(pkt, inter=

1, count=

5) 上面的**由192.168.1.81:12345向192.168.1.10:5555傳送udp包,使用者資料為:

0x12 : unsigned short

20   : unsigned char

1000 : unsigned int

間隔1 s,傳送5次。

附註:這裡也提供了乙份

packet crafting tool的列表。

牛客網A 生成樹

你有一張n個點的完全圖 即任意兩點之間都有無向邊 現在給出這張圖的兩棵生成樹 定義一次操作為 在任意一棵生成樹中刪除一條邊後再加入一條邊 必須在同一棵樹中操作 同時需要保證操作完後仍然是一棵樹 問使得兩棵樹相同的最少操作次數,若不存在合法的操作方案,輸出 1 注意 這裡的相同指的是點集與邊集均相同,...

用keytool生成證書

1.建立乙個證書 c jdk1.5.0 04 bin keytool genkey alias xahca keyalg rsa keystore dyfcalib 輸入keystore密碼 admindyf 您的名字與姓氏是什麼?unknown 徐吖禾 您的組織單位名稱是什麼?unknown 天河...

用keytool生成證書

詳細請見 tomcat的幫助文件,https localhost 8080 tomcat docs ssl howto.html 1 用keytool 生成證書 keytool genkey alias tomcat keyalg rsa keystore c tomcat mykey keytoo...