Many Bitcoin wallets now use BIP39 to generate addresses from mnemonic codes. If you are using hardware wallets or Electrum wallet, you should have written your recovery 12(or 24) words somewhere safe.
BIP39 is very useful since you don't have to backup all your private keys. Private keys are derived using cryptographically safe method, so you just need the recovery words to recover all your private keys and public keys. If it weren't for BIP39, you would have to backup your private keys whenever you use a new address. You could reuse just one address but you loose privacy.
There is a web page that can extract private keys and addresses from your recovery words.
If you plan to use this web page, it is extremely important to take security measures. You have to type your recovery words, which means if it's compromised, you can loose all your funds in your wallet. Not only Bitcoin, but all cryptocurrencies in your wallet!
- Open https://iancoleman.io/bip39/ and save it to disk. You can also download from github
- Go offline. Turn off Wifi. Unplug ethernet cable.
- Open saved page(preferably from a private window) and type recovery words in Mnemonic Code.
- Select BIP32 / BIP49 from Derivation Path for legacy / segwit addresses.
- Copy addresses and save it somewhere. (not private keys yet!)
- Close web page
- Connect to internet and use blockchain explorer to find out what address you are looking for. Make sure the address doesn't contain any bitcoins.
- Go offline. Turn off Wifi. Unplug ethernet cable.
- Repeat step 3 and 4. Copy private keys only for the interested addresses to somewhere safe(encrypted disk).
If you want to know more about Bitcoin addresses, see Mastering Bitcoin chapter 4 and 5. Chapter 5 explains mnemonic codes.
Although it is easy to derive addresses from recovery words(mnemonic codes), it's impossible to guess recovery words from derived addresses. It's also impossible to derive other addresses from known derived addresses.
I've successfully extracted some private keys from my Ledger Nano S to claim unsupported Bitcoin forks.
And I didn't take screenshot of my real recovery words! I generated new mnemonic codes just for the screenshot.