亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python實現簡單的TCP代理服務器

2020-02-23 06:02:10
字體:
來源:轉載
供稿:網友

本文實例講述了python實現簡單的TCP代理服務器的方法,分享給大家供大家參考。

具體實現代碼如下:

# -*- coding: utf-8 -*-'''filename:rtcp.py@desc:利用python的socket端口轉發,用于遠程維護如果連接不到遠程,會sleep 36s,最多嘗試200(即兩小時)@usage:./rtcp.py stream1 stream2stream為:l:port或c:host:portl:port表示監聽指定的本地端口c:host:port表示監聽遠程指定的端口@author: watercloud, zd, knownsec team@web: www.knownsec.com, blog.knownsec.com@date: 2009-7'''import socketimport sysimport threadingimport timestreams = [None, None] # 存放需要進行數據轉發的兩個數據流(都是SocketObj對象)debug = 1 # 調試狀態 0 or 1def _usage(): print 'Usage: ./rtcp.py stream1 stream2/nstream : l:port or c:host:port'def _get_another_stream(num): ''' 從streams獲取另外一個流對象,如果當前為空,則等待 ''' if num == 0: num = 1 elif num == 1: num = 0 else: raise "ERROR" while True: if streams[num] == 'quit':  print("can't connect to the target, quit now!")  sys.exit(1) if streams[num] != None:  return streams[num] else:  time.sleep(1)def _xstream(num, s1, s2): ''' 交換兩個流的數據 num為當前流編號,主要用于調試目的,區分兩個回路狀態用。 ''' try: while True:  #注意,recv函數會阻塞,直到對端完全關閉(close后還需要一定時間才能關閉,最快關閉方法是shutdow)  buff = s1.recv(1024)  if debug > 0:  print num,"recv"  if len(buff) == 0: #對端關閉連接,讀不到數據  print num,"one closed"  break  s2.sendall(buff)  if debug > 0:  print num,"sendall" except : print num,"one connect closed." try: s1.shutdown(socket.SHUT_RDWR) s1.close() except: pass try: s2.shutdown(socket.SHUT_RDWR) s2.close() except: pass streams[0] = None streams[1] = None print num, "CLOSED"def _server(port, num): ''' 處理服務情況,num為流編號(第0號還是第1號) ''' srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) srv.bind(('0.0.0.0', port)) srv.listen(1) while True: conn, addr = srv.accept() print "connected from:", addr streams[num] = conn # 放入本端流對象 s2 = _get_another_stream(num) # 獲取另一端流對象 _xstream(num, conn, s2)def _connect(host, port, num): ''' 處理連接,num為流編號(第0號還是第1號) @note: 如果連接不到遠程,會sleep 36s,最多嘗試200(即兩小時) ''' not_connet_time = 0 wait_time = 36 try_cnt = 199 while True: if not_connet_time > try_cnt:  streams[num] = 'quit'  print('not connected')  return None conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try:  conn.connect((host, port)) except Exception, e:  print ('can not connect %s:%s!' % (host, port))  not_connet_time += 1  time.sleep(wait_time)  continue print "connected to %s:%i" % (host, port) streams[num] = conn #放入本端流對象 s2 = _get_another_stream(num) #獲取另一端流對象 _xstream(num, conn, s2)if __name__ == '__main__': if len(sys.argv) != 3: _usage() sys.exit(1) tlist = [] # 線程列表,最終存放兩個線程對象 targv = [sys.argv[1], sys.argv[2] ] for i in [0, 1]: s = targv[i] # stream描述 c:ip:port 或 l:port sl = s.split(':') if len(sl) == 2 and (sl[0] == 'l' or sl[0] == 'L'): # l:port  t = threading.Thread(target=_server, args=(int(sl[1]), i))  tlist.append(t) elif len(sl) == 3 and (sl[0] == 'c' or sl[0] == 'C'): # c:host:port  t = threading.Thread(target=_connect, args=(sl[1], int(sl[2]), i))  tlist.append(t) else:  _usage()  sys.exit(1) for t in tlist: t.start() for t in tlist: t.join() sys.exit(0)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久av在线播放| 日韩亚洲综合在线| 法国裸体一区二区| 午夜精品蜜臀一区二区三区免费| 欧美在线视频一区二区| 国色天香2019中文字幕在线观看| 久久躁日日躁aaaaxxxx| 亚洲精品一区二区三区不| 日韩av在线一区二区| 欧美午夜精品久久久久久浪潮| 色妞一区二区三区| 亚洲精品97久久| 欧美精品精品精品精品免费| 欧美成人高清视频| 尤物99国产成人精品视频| 免费91在线视频| 国产九九精品视频| 国产精品欧美日韩| 久久中文久久字幕| 久久久久久久久久久久av| 国产亚洲精品久久久优势| 色综合伊人色综合网| 韩国v欧美v日本v亚洲| 久久久久久久久久久免费| 欧美黑人巨大精品一区二区| 国产欧美日韩视频| 精品久久久久久中文字幕| 成人一区二区电影| 国语自产精品视频在线看抢先版图片| 日韩在线视频网| 日韩亚洲综合在线| 国产精品久久在线观看| 久久久精品2019中文字幕神马| 国产精品看片资源| 久久久久久久久久亚洲| 热99久久精品| 久久久在线免费观看| 国产精品视频资源| 国内揄拍国内精品少妇国语| 国产精品久久久久av免费| 亚洲va欧美va国产综合剧情| 国产美女久久精品香蕉69| 96sao精品视频在线观看| 日本精品va在线观看| 国产成人91久久精品| 在线观看国产成人av片| 亚洲天堂av高清| 欧美美最猛性xxxxxx| 久久综合88中文色鬼| 欧美视频在线观看免费网址| 国产va免费精品高清在线| 精品国产91久久久久久老师| 国产欧美日韩免费看aⅴ视频| 日韩久久精品电影| 国内精品久久久久| 97在线视频一区| 国产精品一区=区| 另类美女黄大片| 久久天天躁狠狠躁夜夜av| 亚洲国内高清视频| 91av视频在线免费观看| 欧美精品在线免费| 精品中文字幕久久久久久| 欧美精品做受xxx性少妇| 亚洲欧美精品suv| 97视频在线免费观看| 欧美日韩视频在线| 日韩亚洲国产中文字幕| 亚洲欧美自拍一区| 中文字幕在线看视频国产欧美在线看完整| 久久精品久久久久| www.日韩av.com| 国产一区二区三区18| 国产亚洲欧洲高清| 欧美性高潮床叫视频| 日韩中文在线中文网在线观看| 午夜精品视频网站| 国模叶桐国产精品一区| 欧美大学生性色视频| 在线观看欧美www| 91在线观看免费高清完整版在线观看| 亚洲在线视频福利| 成人欧美一区二区三区在线湿哒哒| 国产欧美一区二区三区久久人妖| 91视频-88av| 亚洲第一天堂无码专区| 2019中文字幕在线观看| 日韩av最新在线| 久久成人精品一区二区三区| 日韩电视剧免费观看网站| 中文字幕亚洲欧美日韩高清| 欧美激情视频在线| 日本人成精品视频在线| 国模视频一区二区三区| 97精品一区二区视频在线观看| 欧美亚洲第一区| 亚洲女成人图区| 亚洲一区二区三区香蕉| 97国产精品人人爽人人做| 最近2019年中文视频免费在线观看| 国产中文日韩欧美| 日韩成人av在线| 欧美极品在线视频| 亚洲一区亚洲二区亚洲三区| 在线亚洲午夜片av大片| 欧美成在线视频| 欧美一区二区视频97| 在线观看国产精品淫| 在线成人一区二区| 午夜免费久久久久| 69久久夜色精品国产69乱青草| 欧美成人四级hd版| 红桃视频成人在线观看| 亚洲第一免费播放区| 精品中文字幕在线2019| 亚洲综合中文字幕在线观看| 亚洲国产精品免费| 日本国产一区二区三区| 97色在线观看免费视频| 91tv亚洲精品香蕉国产一区7ujn| 亚洲欧美www| 91精品国产综合久久香蕉的用户体验| 国产日韩在线播放| 久久av中文字幕| 亚洲欧美变态国产另类| 91日本视频在线| 亚洲精品日韩在线| 午夜精品美女自拍福到在线| 久久久久九九九九| 日韩精品久久久久久福利| 欧美激情在线播放| 不卡在线观看电视剧完整版| 亚洲最大福利视频| 一区二区欧美日韩视频| 国产精品88a∨| 亚洲欧美综合区自拍另类| 欧美午夜激情视频| 中文字幕欧美日韩精品| 精品无人区乱码1区2区3区在线| 伊人久久精品视频| 日韩成人久久久| 中文字幕亚洲一区二区三区| 色系列之999| 亚洲码在线观看| 这里只有精品在线观看| 欧洲成人在线观看| 国语自产精品视频在免费| 亚洲国产日韩欧美在线图片| 久久久亚洲天堂| 午夜精品一区二区三区在线| 蜜臀久久99精品久久久久久宅男| 美女精品久久久| 97avcom| 成人情趣片在线观看免费| 国产精品激情av电影在线观看| 青青草成人在线| 亚洲第一免费播放区| 2019国产精品自在线拍国产不卡| 丝袜一区二区三区| 国产精品久久国产精品99gif| 国产精品成人一区| 久久免费成人精品视频| 538国产精品一区二区在线| 国产aⅴ夜夜欢一区二区三区|