首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三次握手不起作用

三次握手不起作用
EN

Stack Overflow用户
提问于 2016-01-07 18:12:52
回答 1查看 177关注 0票数 0
代码语言:javascript
复制
from scapy.all import *
# VARIABLES
src = sys.argv[1]
dst = sys.argv[2]
sport = random.randint(20000,65535)
dport = int(sys.argv[3])
print src
print dst
print sport
print dport
# SYN
ip=IP(src=src,dst=dst)
SYN=TCP(sport=sport,dport=dport,flags='S',seq=1000)
SYNACK=sr1(ip/SYN)
SYN.show()
SYNACK.show()
# ACK
seq=SYNACK.ack + 1
ack=SYNACK.seq + 1
print seq
print ack
ACK=TCP(sport=sport, dport=dport, flags='A', seq=seq, ack=ack)
sr1(ip/ACK)
ACK.show()

exec命令:

代码语言:javascript
复制
python 3WSK.py 10.16.11.21 10.11.157.130 26789

SYNACK结果如下:

代码语言:javascript
复制
###[ IP ]###
version   = 4L
ihl       = 5L
tos       = 0x0
len       = 44
id        = 0
flags     = DF
frag      = 0L
ttl       = 60
proto     = tcp
chksum    = 0x821a
src       = 10.11.157.130
dst       = 10.16.11.21
\options   \
###[ TCP ]###
sport     = 26789
dport     = 35067
seq       = 1918207620
ack       = 1001
dataofs   = 6L
reserved  = 0L
flags     = SA
window    = 5840
chksum    = 0xd630
urgptr    = 0
options   = [('MSS', 1460)]
###[ Padding ]###
load      = '\x00\x00'

但是我的tcp服务器没有记录任何东西。

所以,我不确定我的替身代码连接是否成功,我也想知道

如何验证tcp连接是否正常工作。谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 04:45:55

检查当SYN+ACK到达时,您是否看到从您的操作系统发送的RST。如果是这样的话,看看this answer,并删除带有iptables的RST:

iptables -A OUTPUT -p tcp --tcp-flags RST RST -s <your_ip> -j DROP

如果不是这样,看看this gist,它对我来说工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34652455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档