한무제는 공손오 등 네 장군에게 각각 1만의 기병을 주어 흉노를 공격하게 했지만 공손오는 흉노군에 패해 부하 7000명을 잃었다.
 그로부터 4년 뒤 한무제는 위청(衛靑), 공손오(公孫敖), 공손하(公孫賀), 이광(李廣) 등 네 장군에게 각각 1만의 기병을 주어 흉노를 공격하게 했다. 본래 화친맹약에 따라 한과 흉노는 진나라 때 쌓은 만리장성을 국경선으로 정했다. 이때 한군은 처음으로 장성을 넘어 북진했다. 네 방향에서 흉노 땅에 진입했지만, 그 결과는 처참했다. 공손오는 흉노군에 패해 부하 7000명을 잃었고, 이광도 대패해 포로까지 됐다가 간신히 탈출했다. 공손하는 길을 잘못 들어 빈손으로 돌아왔다.
 위청만 작은 전투에서 승리했을 뿐이었다. 장성을 넘어 흉노 땅을 휘저은 것을 위안으로 삼아야 했다. 이듬해에도 위청은 3만의 기병을 이끌고 가서 수천 명의 흉노군을 참수하는 전과를 올렸다. 원래 위청은 첩의 아들로 태어나 어린 시절을 종처럼 불우하게 보냈다. 하지만 노래하는 기녀(唱妓)였던 누나 위자부(衛子夫)가 한무제의 애첩이 되면서 신분이 수직상승했다. BC 127년에는 군대를 이끌고 지금의 내몽골(內蒙古) 오르도스(鄂爾多斯)까지 차지하여 대장군으로 승진했다.
 해가 바뀌면서 흉노에 큰 변화가 일어났다. 군신 선우가 죽자, 동생인 이치사(伊雉斜)가 어린 태자를 쫓아내고 즉위했다. 묵돌부터 군신까지 흉노가 번성한 데에는 선우의 뛰어난 용인술이 한몫했다. 한나라는 패전한 장수를 사형에 처한데 반해, 흉노는 적장을 포로로 잡아서 장군으로 삼아 중용했다. 한데 이치사 선우는 한 황제와 똑같은 실수를 범했다. 훗날 전투에서 패한 혼야왕(渾耶王)이 부족을 이끌고 한군에 투항한 것은 이치사 선우가 내릴 벌을 두려워했기 때문이다.
