tftp传文件被服务器拒绝进入tftp: server error: (768) Access to staonline.pcap denied

环境:测试一个ac下挂ap,ap下的抓包文件传出时,出现问题:

ac的wan口ip是192.168.186.167/24,gw是192.168.186.1,下挂ap的ip是192.168.202.199/24,ac上开子接口192.168.202.1/24,ac上开nat功能。tftp服务器在pc192.168.186.118/24上,和ac的wan口在同一网段。

开始以为是ap的对应目录和文件没有读写权限,chmod 777进行修改后,问题依旧。

root@IIIoT:/# chmod 777 /tmp

root@IIIoT:/# tftp -p -l /tmp/staonline3.pcap 192.168.186.118

tftp: server error: (768) Access to /tmp/staonline3.pcap denied

root@IIIoT:/# cd /tmp

root@IIIoT:/tmp# ls -l staonline3.pcap

-rw-r--r-- 1 root root 2010 Sep 29 17:16 staonline3.pcap

root@IIIoT:/tmp# chmod 777 staonline3.pcap

root@IIIoT:/tmp# tftp -p -l /tmp/staonline3.pcap 192.168.186.118

tftp: server error: (768) Access to /tmp/staonline3.pcap denied

root@IIIoT:/tmp# tftp -p -l /tmp/staonline3.pcap 192.168.186.118

tftp: server error: (768) Access to /tmp/staonline3.pcap denied
root@IIIoT:/tmp# tftp: server error: (768) Access to /tmp/staonline3.pcap denied

问题还在,决定在tftp服务器pc上和ap上同时抓包,对比查看。tftp的usb网卡接ap同一网段的接口,ap的抓包传到usb网卡的ip上,这样不经过ac的nat功能。

root@IIIoT:~# tcpdump -any -nne -w testtftp.pcap

tcpdump: invalid data link type -nne

root@IIIoT:~# tcpdump -i any -nne -w testtftp.pcap

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes

^C894 packets captured

896 packets received by filter

0 packets dropped by kernel

root@IIIoT:~# ls -l *pcap

-rw-r--r-- 1 root root 85651 Sep 26 18:45 staonline.pcap

-rw-r--r-- 1 root root 111110 Sep 29 20:24 testtftp.pcap

root@IIIoT:~# tftp -pl testtftp.pcap 192.168.202.202 传出ap上抓包文件

ap上抓包文件显示如下:只有客户端发出write请求消息,没有后续消息

tftp服务器上抓包显示如下:

tftp服务器发出ack,收到ac发来的destnation port unreachable的消息。

查看icmp的目标不可达消息

发现源地址ac的wan口地址,而目标地址是tftp服务器的地址,而且ttl是64,表示是ac直接发出,而不是经过转接的icmp消息。

对应ap的抓包,ack并没有收到,而且也没有icmp消息发出,据此判断ac直接回的目标端口不可达。

原因分析,ac没有端口alg功能,对tftp协议,后续消息会改变端口发来,而ac的conntrack记录表的五元组里没有对应的表项,导致ac直接回icmp端口不可达项。

测试一下,关闭ac的nat功能,发现重新测试,文件传送成功。

相关推荐
舒一笑1 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大1 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair1 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主1 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
茶杯梦轩1 天前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
甲鱼9292 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
YuMiao3 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
碳基沙盒4 天前
OpenClaw 多 Agent 配置实战指南
运维
Sinclair6 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器