The calculated distance (air line) between Kirkuk and Oshnavīyeh is approximately 116 miles respectively 186 kilometers.
By car or train, the actual journey to Oshnavīyeh is certainly longer, as only the direct route (as the crow flies) between Kirkuk and Oshnavīyeh has been calculated here.
Air line (approximately)
186 kilometers
100 nautical miles