Семён Никанорович Соколов родился 31 января 1922 года в деревне Яманово ныне Лежнёвского района Ивановской области. Русский. Окончил школу в селе Воскресенском. В 1937 году уехал в город Владимир, учился в авиационном механическом техникуме, занимался в аэроклубе. В 1940 году с третьего курса техникума добровольцем пошёл в Красную Армию.
Выпускник аэроклуба Соколов получил направление в Кировабадскую военную авиационную школу пилотов, которая готовила пилотов бомбардировщики СБ. В 1941 году, в связи с началом войны, окончил ускоренно школу. Сержант Соколов вместо фронта был направлен в город Чкалов (ныне Оренбург) где в Чкаловской военной авиационной школе лётчиков переучивался на Ил-2. Только весной 1943 года старший прибыл в действующую армию.
Боевую работу младший лейтенант Соколов начал в июле 1943 года на Южном фронте. С первого дня пребывания на фронте и до конца войны воевал в составе 100-го отдельного корректировочно-разведывательного авиационного полка, летал на штурмовике Ил-2, переоборудованном в самолет-разведчик.
В первых вылетах показал себя как мужественный, отважный лётчик-корректировщик. 29 сентября 1943 года за 15 успешных боевых вылетов командующий артиллерией Южного фронта наградил С.Н.Соколова орденом Отечественной войны 1-й степени.
И снова боевые вылеты: разведка, аэрофотосъемка, корректировка огня наших батарей. В следующих 30-ти вылетах крылатый разведчик помог уничтожить 35 вражеских артиллерийских батарей, 58 автомашин , 8 танков, сфотографировал 2642 квадратных метров площади, занятой противником. К февралю 1944 года Соколов совершил 63 боевых вылета, провёл 21 воздушный бой, был представлен к награждению орденом Ленина. Однако, из-за ошибки в оформлении документов представление затерялось.
Во время ликвидации Никопольской группировки провел корректировку огня по 20-ти артиллерийским батареям врага. В ходе крымской операции Соколов вёл съёмки фашистских укреплений в районе Перекопа и Сиваша, и вскрыл всю сеть вражеской обороны Крымского плацдарма. За эти вылеты Соколов был награжден двумя орденами Красного Знамени (29 апреля и 13 мая 1944 года).
Заместитель командира эскадрильи старший лейтенант Соколов к январю 1945 года совершил 107 боевых вылетов на корректировку артиллерийского огня, фото- и визуальную разведку в интересах артиллерии Южного и 4-го Украинского фронтов. Был представлен к званию Герой Советского Союза 24 января 1945 года.
Пока ходили документы, бои продолжались. В составе полка сражался в небе Венгрии и Чехословакии. Член ВКП(б)/КПСС с 1945 года. В апреле 1945 года, при выполнении задания был атакован четырьмя «мессерами». Экипаж умело маневрируя сбил один Ме-109. Поврежденный самолет с раненым стрелком пилот привел на свой аэродром. За это бой был награжден орденом Александра Невского.
День Победы Соколов встретил в звании капитана. Всего за неполные два года на фронте он совершил 119 боевых вылетов на разведку и корректировку, в воздушных боях сбил один самолет противника, два раза был сбит, один раз контужен.
Указом Президиума Верховного Совета СССР от 18 августа 1945 года за образцовое выполнение заданий командования и проявленные мужество и героизм в боях с немецко-фашистскими захватчиками старшему лейтенанту Соколову Семену Никаноровичу присвоено звание Героя Советского Союза.
После Победы остался в ВВС. В 1951 году майор Соколов окончил Военно-Воздушную академию, ныне им. Ю. А. Гагарина, два года служил в Закавказском военном округе командиром отдельной разведывательной эскадрильи.
В 1953 году был отобран для ведения секретной работы в Главном разведывательном управлении. Окончил Военно-дипломатическую Академию Генерального штаба Вооруженных Сил, выучил персидский язык. В дальнейшем был на дипломатической и разведывательной работе.
Дважды направлялся в длительные зарубежные командировки. В 1957-1960 годах — помощник военного атташе в Иране, в 1975-1977 годах — военный и военно-воздушный атташе в Чехословакии. По оценке командования с поставленными задачами справлялся успешно. В 1965 году с золотой медалью окончил Академию Генерального штаба.
В последующие годы проходил службу в различных должностях в Главном разведывательном управлении Генерального штаба. Был начальником направления, начальником командного пункта информации, начальником управления внешних сношений и других. Неоднократно возглавлял оперативные группы, создаваемые в период конфликтных ситуаций в различных регионах планеты: в период китайско-вьетнамского конфликта, событий на Ближнем Востоке, в Польше. В 1987 году ушел в запас в звании генерал-лейтенант авиации. Календарный срок службы составил более 47 лет, из них 34 года — в военной разведке.
Жил в городе-герое Москве. Активно участвовал в работе общества «Знание», ездил с лекциями по все стране. Кандидат военных наук, лауреат премии имени М. В. Фрунзе. Являлся членом редколлегии журнала «Военная мысль». В 1990 году тяжело заболел, сказалась контузия, полученная на фронте.
Скончался 6 декабря 1998 году. Похоронен в Москве на Троекуровском кладбище.