关于NAT端口转发的问题

问题遇到的现象和发生背景

最近在学习TCP3次握手,于是写了一个SYN端口扫描程序,有些疑问
当一个客户端向外发送TCP连接时会经过NAT转发时,改变源IP和端口并建立端口映射表,这样才能回传数据
在路由器进行NAT已经建立好了端口映射表后,这个端口算对外开放吗?
如果使用端口扫描,是否能扫描出来?

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

当一个客户端向外发送TCP连接时,经过NAT转发会改变源IP和端口并建立端口映射表。这样才能回传数据。在路由器进行NAT已经建立好了端口映射表后,这个端口对于外部网络来说是开放的。

如果使用端口扫描,因为端口映射表已经建立,所以可以扫描出来这个端口。但是,因为NAT会更改源IP地址,所以从外部网络看来,所有连接都是来自路由器的IP地址,并不能知道原始IP地址。

可以扫描出来开放的端口,因为NAT是对外隐藏内部IP地址,扫描时无法看到内网的真实IP地址,但是端口ID时可以被scan出来。