《사기》〈조선열전〉에 고조선의 멸망 과정을 설명하고 있다. 한사군의 내용과 관련해서는 “조선을 평정하고 사군을 설치했다.”라고 기록하고 있다. 사군의 이름은 기록되지 않았다. 이와 관련해서 이름이 기록되지 않았기 때문에 한사군은 사실이 아니라는 반론이 있다. 그러나 《사기》〈남월열전〉,〈서남이열전〉 등에도 설치된 군의 이름이 기록되지 않았다.
《한서》
《한서》〈조선전〉에 《사기》의 기록을 거의 그대로 옮겨 적고 있다. 한사군의 명칭이 명시된 점이 조금 다르다. 한편, 〈지리지〉에는 낙랑군과 현도군에 대한 설명이 나오는데 낙랑군은 원봉3년(BC108), 현도군은 원봉4년(BC107)으로 설치된 연도가 다르게 나타난다.
《무릉서》
사마상여가 지었다고 전해지는 문서로, 임둔군, 진번군의 위치를 장안으로부터 각각 6138리, 7640리 떨어져 있다고 기록하고 있다. 그러나 사마상여는 무제가 조선을 평정하기 9년 전에 죽었기에 《무릉서》의 진위 여부가 논란이 되고 있다.
《후한서》
《후한서》〈군국지〉에 낙랑군과 현도군에 대한 설명이 나타난다. 간략한 건치연혁과 함께 낙양과의 거리를 각각 5000리, 4000리로 기록하고 있다.
《삼국지》
《삼국지》〈동이전〉에 낙랑 및 대방군의 역사가 간략하게 기록되어 있다. 건안(建安) 연간(196~220)에 요동의 군벌 공손강이 낙랑의 둔유현(屯有縣) 이남을 분할하여 대방을 설치했으며, 경초(景初) 연간(237~239)에 사마의가 공손연을 공격하여 복속시켰다.
《진서》
《진서》〈지리지〉에 낙랑군의 역사가 간략하게 기록되어 있다. 276년에 평주(平州)를 신설하고 낙랑군을 소속시켰다고 한다.
《자치통감》
《자치통감》〈진기(晉紀)〉에 낙랑군 폐지 기사가 기록되어 있다. 313년에 낙랑, 대방 지역의 군벌 장통(張統)이 미천왕의 공격을 받아 견디지 못하고 백성들을 이끌고 선비족의 모용외에게 항복하였다고 한다. 모용외는 자신의 세력권인 요서·요동 지역에 낙랑군을 설치하고 장통을 태수로 삼았다. 이와 관련해서 요동이나 요서 일대에 낙랑군을 비정하는 주장은 이 시기 모용외가 설치한 낙랑군을 혼동한 것이라고 보는 견해가 있다.
강단사학계에서는 조선시대 실학자들이 전부 한사군이 한반도에 있었다는 논리를 펼치시는것 같은데
조선시대에도 한사군이 요동 요하에 있었다고 주장하는 학자들은 있었습니다 심지어는 한사군이 없었다고 주장하는 실학자도 있었지요
수산 이종휘의 책에는 한사군에 대한 언급조차 없는데도 불구하고 , 강단사학계에서는 조선의 실학자는 모두 한사군을 설명했다고 거짓말을 하고 있죠. 인터넷으로도 얼마든지 찾아볼 수 있는 시대에, 거짓말도 한계가 있습니다.
한나라의 동북 군현에 대해 송호정(한국교원대 교수)은 이렇게 말한다.
“중·고등학교 국사교과서에는 ‘고조선이 멸망하자 한은 고조선의 일부지역에 군현을 설치하고 지배하려 했으나 토착민의 강력한 반발에 부딪쳤다. 그리하여 그 세력은 차차 약화되었고 결국 고구려의 공격을 받아 소멸했다.’고 씌어 있다. ···· 한사군이 구체적으로 설치된 사실조차 없는 것으로 오해할 수 있도록 모호하게 서술하고 있다. 한사군에 대한 서술 분량도 1974년 이래 점차 줄어갔다. 급기야 1990년판 이래 제 7차 교과서에는 4군의 명칭마저 사라졌다. 이처럼 교과서에는 고조선이 멸망한 뒤에 설치된 한사군과 그 가운데 대동강 유역에 중심을 둔 낙랑군에 대해 그 성격을 제대로 이해할 수 없도록 서술되어 있다. 교과서 서술은 한 군현의 설치와 식민지배라는 측면보다는 한민족의 반발과 축출 움직임 쪽에 초점을 두고 있다. ···· 400년 이상 한반도 서북지방에 존재한 낙랑군의 존재를 교과서에서 빼거나 지도에 표기하지 않는 것은 고대의 식민 경험을 현대의 식민지 경험과 동일시하여 그 사실을 은폐하려는 식의 발상이다. 이것이야말로 또 다른 열등의식의 표출이 아닐까?”(『단군,만들어진 신화』, 184~186)