iptables端口转发,wireshark抓包分析

app发送请求,到安全交互平台访问服务,app发送请求的ip地址是基站随机分配的,ip地址被拉黑了怎么访问?解决办法?

一开始考虑使用nginx作为代理服务器转发请求,后来在服务器用端口转发解决。

  • 修改nginx配置文件,新加Serve,监听端口19000,serve_name为服务器IP地址,proxy_pass为现场安交ip地址:端口(20081)

  • 对应安全交互表中iscpip和port

  • app端根据安交表测试地点填写iscip和port端口号

  • 考虑直接使用端口转发,更加高效,不使用nginx服务器

  • TCP 端口转发,从19000端口接收到的数据请求转发到20081端口(目的端口),通过 iptables 命令实现。

  • 首先,需要启用 IP 转发。在 /etc/sysctl.conf 文件中添加以下行:

    net.ipv4.ip_forward=1

  • 添加 iptables 规则以进行端口转发。将所有发往 19000端口的流量转发到iscpip的20081端口上:

    iptables -t nat -A PREROUTING -p tcp --dport 19000 -j DNAT --to-destination xxx.xxx.xxx.xxx:20081

  • 保存iptabels规则

    iptables-save > /etc/sysconfig/iptables

  • 查看规则

    iptables -t nat -nL ---line //查看当前表的规则

  • 开启网卡放行转发(不开放抓包会发现没有ip.des==iscpip的数据包)

    #eth0改为实际使用网卡(一般是eth0)

    放行Forward的数据包

    iptables -I FORWARD -i eth0 -j ACCEPT

    开启网卡混杂模式(允许任意流向的数据包)

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  • telnet测试端口是否可以访问(一个网络应用程序一定会占用一个端口)

    telnet 服务器IP地址 19000
    telnet iscpip 20081

  • 配置成功后尝试在服务器,发起一个页面请求,看能否成功,拦截?不从app发请求

    crul 服务器ip地址:端口/接口页面请求

无返回信息,失败,发起请求必须是客户端

  • 使用tcpdump命令抓包
    例子:抓取主机172.0.0.1的eth0网口的8080、8081端口传输的数据包并保存文件1.pcap

    tcpdump -i eth0 -s0 -w 1.pcap

  • 按 crtl+c 停止抓包,当前目录会生成一个20230811-all.pcap文件

  • 使用wireshark软件分析查找ip.des==iscpip的包,目的端口为20081,源头端口为安排的随机端口

  • 源ip为阿里云内网IP,服务器ip为公网ip

  • 顺便利用wireshark来理解三次握手

    • 第一次握手:app应用程序端serve地址:223.104.4.48---->转发请求到服务器172.19.216.81:19000端口---->iscpip地址218.22.14.12:20082端口。SYN=1,Seq=0

    • 第二次握手:iscpip地址218.22.14.12:20082端口---->服务器172.19.216.81:19000端口---->app应用程序端serve地址:223.104.4.48。SYN=1,ACK=1,Seq=0,ack=1

    • 第三次握手:app应用程序端serve地址:223.104.4.48---->服务器172.19.216.81:19000端口---->iscpip地址218.22.14.12:20082端口。ACK=1,Seq=1,ack=1

    • Push标志位指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队;

  • 可是如果服务器的ip地址也被拉黑了,怎么办呢?岂不是需要有备用服务器?不停的换新ip?

相关推荐
制造业的搬运工5 分钟前
扫地机器人主板 PCB 选型:深圳线路板与普通板的 8 项工艺指标对比与参数清单
网络·科技·制造·科普·pcb工艺
水水不水啊34 分钟前
告别杂乱的调试窗口:我用 Python + WebView 写了一个现代化串口助手
python·测试工具·嵌入式·嵌入式开发·串口调试·串口助手
XiaoMaqqqq2 小时前
目前知名的IP驱动产业新场景新工具有哪些
网络·python·网络协议·tcp/ip
李永奉3 小时前
中科蓝讯SDK开发-BT897X、BT891X、AB573X、AB572X 系列 触摸按键提示音功能实现
网络·单片机·嵌入式硬件·mcu·物联网
ShineWinsu3 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
Eddyp3 小时前
避开溢价!艾默生 TREX2 手操器省钱选型攻略
网络·其他·百度·微信·微信公众平台·新浪微博
FlightYe3 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
2601_967212725 小时前
国际品质电源轨道系统供应商技术评估维度
大数据·网络·经验分享
acrel75 小时前
化工企业能源管理体系下智能化技术实践与探索
网络·人工智能
尹人入圣6 小时前
市面上靠谱的IP驱动产业新场景新工具哪个好
网络·python·网络协议·tcp/ip