I am running a local network over a home router with dhcp enabled. So in case of any reboot of the router, my devices get some random IP within a given range. Is there any way to check the IPs of the other devices without getting into the router? like I have an app in my mobile named "Network scanner" which within a given network, checks and shows all the IPs of the other devices connected to that network. Is it possible to do it from a desktop GNU/Linux machine by any mean? So that I can call specific devices by their IP in an easier way without getting into the router.
Yes, you want to go all Matrix and use
nmap. Or better probably, the GUI front end to it
zenmap. It can scan individual hosts for open ports/services, possibly determine OS and version, etc. It can also sweep a subnet and report all devices that determine are there in some fashion. Nice feature of the GUI is that it displays the command it will run.
So that I can call specific devices by their IP in a easier way without getting into the router.
Of course, if this is your network, the "lazy/easy" thing to do would be to set up a local DNS server for a fake domain (mine is "my.house") and a DHCP server that assigns addresses based on client MAC address (your home router can probably do this). Kinda nice to be able to connect to "lrtv.my.house" instead of 192.168.42.173