Do you have Hardware Inventory enabled at the moment in the Client Settings applied to the collection that these machines are in? This is the normal day-to-day way that SCCM collects changes to the device's configuration, like IP addresses.
If you do have Hardware Inventory enabled what schedule is it set to at the moment? The default schedule for hardware inventory scans is every 7 days, it sounds like that's not often enough for your needs so you can change it be run more frequently (for example once a day) by changing the client settings.
You could also manually run a Hardware Inventory Cycle action on a machine to force it to collect the data and send it to your SCCM server (though the inventory will take a few minutes and then there will be a processing delay on the server before the updated info shows).
Note: I would always recommend that you don't ever edit the "Default Client Settings" instead you create a new Custom Client Settings and just put the settings that you want to change in there, like the Hardware Inventory settings and then deploy that custom setting to your machine collection. I'd also recommend that if you are changing any settings that have an impact on client machines (for example this could have a performance impact) that you deploy to a small test collection of machines first and monitor them for any negative impact.