Python中文
首页
教程
问答
标签
搜索
登录
注册
使用nfqueue/scapy更改TCP负载
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>你好,我正在使用nfqueue和scapy,我的目标是在nfqueue接收数据包,更改负载并重新发送它们。</p> <p>我可以改变像TTL这样的字段,没有任何问题,但是当涉及到改变负载时,我遇到了问题。</p> <p>当我改变有效负载时,我用wireshark嗅探数据包,显然我发送的数据包修改了有效负载,但服务器没有应答。</p> <p>这是我的代码:</p> <pre><code>#!/usr/bin/env python import nfqueue from scapy.all import * def callback(payload): data = payload.get_data() pkt = IP(data) pkt[TCP].payload = str(pkt[TCP].payload).replace("ABC","GET") pkt[IP].ttl = 40 print 'Data: '+ str(pkt[TCP].payload) print 'TTL: ' + str(pkt[IP].ttl) del pkt[IP].chksum payload.set_verdict_modified(nfqueue.NF_ACCEPT, str(pkt), len(pkt)) def main(): q = nfqueue.queue() q.open() q.bind(socket.AF_INET) q.set_callback(callback) q.create_queue(0) try: q.try_run() # Main loop except <a href="https://www.cnpython.com/pypi/keyboard" class="inner-link">keyboard</a>Interrupt: q.unbind(socket.AF_INET) q.close() main() </code></pre> <p>我为端口80的传出流量设置了此规则:<code>iptables -I OUTPUT -s 192.168.1.10 -p tcp --dport 80 -j NFQUEUE</code></p> <p>而且,要测试它,例如我打开telnet到google端口80,执行一个<code>GET / HTTP/1.1</code>,这就是我看到的:</p> <pre><code>TTL: 40 DATA: GET / HTTP/1.1 </code></pre> <p>现在,如果我这样做了<code>ABC / HTTP/1.1</code>我就不会得到任何答案!我的电话网被卡住了。</p> <p>我也试过在HTTP网站上浏览一些东西,查看wireshark我的TTL是如何真正地改变到40,然后,浏览字符串“ABC”和我的浏览器再次陷入困境。 我嗅到请求已更改为获取,但没有收到响应。</p> <p>谢谢让我头疼,如果有经验的人能把我引向正确的方向,我会非常感激的。提前谢谢你。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p> 在第二种情况下,您正在篡改TCP层和IP层。</p> <p>你让Scapy修改IP校验和,而不是TCP校验和。将代码中的<code>del pkt[IP].chksum</code>更改为<code>del pkt[IP].chksum pkt[TCP].chksum</code>。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
python语法错误(如果不在Z中,则在X中表示s)
2 回答
Python语法错误(无效)概率
5 回答
python语法错误*带有可选参数的args
3 回答
python语法错误2.5版有什么办法解决吗?
1 回答
Python语法错误2.7.4
5 回答
python语法错误30/09/2013
4 回答
Python语法错误E001
6 回答
Python语法错误not()op
1 回答
python语法错误outpu
9 回答
Python语法错误print len()
2 回答
python语法错误w3
5 回答
Python语法错误不是caugh
3 回答
python语法错误及yt-packag的使用
8 回答
python语法错误可以查出来!!瓦里亚布
5 回答
Python语法错误可能是缩进?
10 回答
Python语法错误和缩进
1 回答
Python语法错误在while循环中生成随机numb
3 回答
Python语法错误在哪里?
1 回答
python语法错误在尝试导入包时,但仅在远程运行时
5 回答
Python语法错误在电子邮件地址提取脚本中
9 回答