I am trying to do a project on network feature recognition within a 5G core. I cloned from Github the repository: https://github.com/free5gc/free5gc-compose: which uses free5gc for docker-compose: I use the docker-compose.yaml file in the repo
The first question was to scan IPs and ports and I did that using nmap with docker ps and it worked: I was also able to identify what kind of protocols the NFs were using.
The second was to find the network interfaces for each network function, and we could do that simply using curl -i ... and it worked: they return http/1.1 (two of them return 200 and the others 404, which is fine, because we show that they are reachable).
However, I had problems with the third point: identifying nfs. The paper suggests curling some nfs APIs heuristically and observing the responses: if we get responses other than 404, then we can easily recognize nfs. However, I only got 401 twice on nfr, but for the rest of the API I got 404: page not found, and in this way I cannot easily distinguish NFs.
I have already tried ChatGPT to solve the problem and also to look at the free5gc openapi, but I think the repository owner changed the code and I can't find the yaml files for the API.
I used these types of APIs:
/nnrf-nfm/v1/nf-instances
/nsmf-pdusession/v1/sm-contexts
/namf-comm/v1/ue-contexts
/nausf-auth/v1/ue-authentications
/nudm-subscriber-data/v1/imsi- 001010000000001
/npcf-am-policy-control/v1/policies
/nudr-dr/v1/subscription-data/imsi-001010000000001
/nnrf-nfm/v1/nf-instances
/nnssf-nsselection/v1/network-slice-information
However, I don't know if they work -> only /nnrf-nfm/v1/nf-instances and /nnssf-nsselection/v1/network-slice-information give me 401 for nfr. for the rest of the containers I get 404 with the same message. Maybe I don't know the actual apis, and I'm doing all wrong
Any suggestions?

