基于python的socket套接字,对tcp数据包进行转发
import socket
def main():
s = socket.socket()
# 本机ip地址和接收端口
host = '10.168.1.188'
port = 8011
# 目标ip地址和端口
host2 = '39.99.48.243'
port2 = 6688
#绑定本地接收端的IP地址和端口
s.bind((host, port))
#启动本地监听
s.listen(1)
#监听主题套接字开始接受
c, addr = s.accept()
#监听套接字收到
recv_data = c.recv(1024)
print('收到' + host + ':' + str(port) + '的数据:')
print(recv_data)
#s2为发送程序,先与目标端口建立联系
s2 = socket.socket()
s2.connect((host2, port2))
print('转发到' + host2 + ':' + str(port2) + '的数据:')
print(recv_data)
#使用发送程序将数据发出
s2.sendall(recv_data)
#接收服务器的回复信息
accept_data = s2.recv(1024)
print('转发收到' + host2 + ':' + str(port2) + '的数据:')
print(accept_data)
print('转发回' + host