routes 6,22,23,25,4 island,viridian city,cape brink,cerulean cave floor 1 and basement 1,icefall cave enterance and ruin valley. you have to fish for them but they are uncommon. if you want to know where to find Pokemon and more, i suggest Serebii.net
If you have access to Two Island, look in the Cape Brink for Poliwhirl.
When you give the poliwhirl a water stone
you can get a poliwhirl or a poliwag and evolve to poliwhirl!! then trade poliwhirl holding a king's rock.
you have to have a poliwhirl and give it a kings rock and then trade it.
by trading poliwhirl with the kings rock
poliwhirl, evee and some others
migrate it!
In the water
poliwhirl evolves into poliwrath with a water stone
Using the good rod or super rod in vermilion city's small body of water will every now and then get you poliwag or even poliwhirl.
There is one King's Rock to be found in Pokemon FireRed in Sevault Canyon. They can also sometimes be found on wild Pokemon like Poliwhirl.
use a super rod on the pond north of vermilion city