python 停止工作 scapy_常见问题 - Scapy 中文文档_教程_Python开发社区
常見問題
我的 TCP 連接被 Scapy 或者是我的內(nèi)核重置了
內(nèi)核不知道 Scapy 在他背后做什么。 如果 Scapy 發(fā)送 SYN,目標回復(fù) SYN-ACK,并且你的內(nèi)核看到它,它將回復(fù) RST。 為了防止這種情況,請使用本地防火墻規(guī)則(例如 Linux 上的 NetFilter)。 Scapy 不介意本地防火墻。
我 Ping 不通 127.0.0.1,Scapy 在 127.0.0.1 上或是本地回送接口上不工作
回送接口是一個非常特殊的接口。 通過它的數(shù)據(jù)包沒有真正組裝和拆卸。 內(nèi)核將數(shù)據(jù)包路由到其目的地,而它仍然存儲于內(nèi)部結(jié)構(gòu)中。 你看到的tcpdump -i lo只是假的,讓你認為一切正常。 內(nèi)核不知道 Scapy 在背后做什么,所以你在回送接口上看到的也是假的。 這個是不會在本地結(jié)構(gòu)中的,因此內(nèi)核永遠不會收到它。
為了和本地的程序交流,你應(yīng)該在上層協(xié)議中構(gòu)建你的數(shù)據(jù)包。使用PF_INET/SOCK_RAW套接字而不是PF_PACKET/SOCK_RAW
>>> conf.L3socket
>>> conf.L3socket=L3RawSocket
>>> sr1(IP(dst="127.0.0.1")/ICMP())
>
BPF 過濾器在 PPP 鏈路上不能工作
這是一個已知的 bug。BPF 過濾器必須在 PPP 鏈路上以不同的偏移來編譯。如果你使用libpcap(將用來編譯 BFP 過濾器),而不是使用 Linux 本地的支持(PF_PACKET套接字),他可能會工作。
traceroute()在 PPP 鏈路上不能工作
這是一個已知的 bug,BPF 過濾器在 PPP 鏈路上不能工作。
為了能讓他正常工作,使用nofilter=1:
>>> traceroute("target", nofilter=1)
畫圖太丑,字體太大,圖片被截斷
快速修復(fù):用 png 格式
>>> x.graph(format="png")
更新 GraphViz 的最新版本
嘗試提供不同的 DPI 選項(比如說:50,70,75,96,101,125):
>>> x.graph(options="-Gdpi=70")
如果它工作了,你可以永久設(shè)置它:
>>> conf.prog.dot = "dot -Gdpi=70"
你也可以將這一行放在你的~/.scapy_startup.py文件中。
獲取幫助
常見問題都在 FAQ 中。
在scapy.ml(at)secdev.org(歸檔,RSS,NNTP)上有一個低流量郵件列表。 我們鼓勵你向此列表發(fā)送問題,錯誤報告,建議,想法,Scapy 的有趣用法等。 通過發(fā)送郵件到scapy.ml-subscribe(at)secdev.org來訂閱。
為了避免垃圾郵件,你必須訂閱郵件列表才能發(fā)布。
總結(jié)
以上是生活随笔為你收集整理的python 停止工作 scapy_常见问题 - Scapy 中文文档_教程_Python开发社区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 塞尔达传说gba_【译介】塞尔达传说:不
- 下一篇: python收入波动告警分析_使用Pyt