2010-11-04 91 views
1

有人可以指導我如何將數據包在Scapy發送到一個IP地址,TCP標頭中的所有標誌設置爲空?到目前爲止,我嘗試發送數據包而不指定要設置哪些標誌,但似乎每次發送數據包時都會設置Syn標誌。TCP空掃描使用Scapy

我想知道它,以便我可以瞭解有關TCP空掃描的更多信息。將感謝您的幫助和指導。

回答

2

我沒有使用Scapy的,而是從文檔的快速掃描存在,同時指定要設置的標誌,這個頁面的文檔的創建一個TCP包的例子:

http://www.secdev.org/projects/scapy/doc/usage.html#simple-one-liners 
 
sr(IP(dst="192.168.1.*")/TCP(dport=80,flags="S")) 

也許你可以嘗試這樣的命令,用空字符串「」?即TCP(dport = 80,flags =「」)?

0

如果你不想真的發送一個TCP頭,你最好只設置IP包的協議並在它上面粘上一串零。

sr(IP(dst="192.168.1.", proto="TCP")/"\0"*50) 

編輯:我不是語法實際上正,你可能需要使用的,而不是「TCP」

0

謝謝Andy和Jdizzle您的建議,協議號。

我試了一下安迪先前自己推薦過的東西,但這個數據包好像有一個Syn Flag設置,當我在wireshark上檢查它時。

好消息是,我解決了這個問題,可以在創建要發送的數據包的實例中將標誌設置爲空。

創建數據包 - > a = TCP(),然後通過 - > a.flags = 0 將標誌設置爲零,在準備數據包之前可以使用這種方式預置許多其他屬性通過網絡發送。您可以通過以下方式查看這些屬性: - > ls(a)

其中a =數據包的名稱。

這工作成功!