漢武帝時漢廷與匈奴之間常有戰事。有一次,匈奴派使者前來求和,並把扣留的漢朝使者放了回來。漢武帝為了回應匈奴的善舉,派中郎將蘇武拿著旌節,帶一干人等出使匈奴,沒想到卻出了意外。
單(chan)於想逼迫蘇武投降,蘇武說:「要我投降,除非海枯石爛,日從西升。」他寧死不屈,舉刀自刎,經過搶救才倖免於難。蘇武隨後被單于流放到北海無人區牧羊。蘇武一個人在冰天雪地裡放羊,萬般艱辛。沒有糧食,他就挖田鼠藏在洞裡的食物充飢;口渴了就抓把雪吞下解渴。唯一和他做伴的就是那根代表朝廷的旌節,日子一久,旌節上的穗子全掉了。
轉眼間十幾年過去了,這時漢昭帝已繼位,匈奴老國王也已駕崩,換了新單于,漢匈議和,漢人和匈奴人通婚。漢昭帝遂派使者前往匈奴,要求放蘇武回去,單于謊稱蘇武已經死去,使者信以為真,就沒有再提。當漢昭帝第二次派使者到匈奴時,和蘇武一起出使匈奴並被扣留的副使常惠設法買通了禁卒,秘密會見了漢使,把蘇武還活著、正在北海牧羊的消息告訴了漢使,並想出一計,讓漢使對單于講:「匈奴既然存心同漢朝和好,就不應該欺騙漢朝。漢朝天子在上林苑打獵時,射到一隻大雁,雁足上繫著一封寫在帛上的信,上面寫蘇武沒死,而是在一個大澤中牧羊,你怎麼說他死了呢?」單于聽後大為震驚,以為蘇武的忠義感動了飛鳥,連鴻雁也替他傳送消息了。他無法再抵賴,只能向漢使道歉,把蘇武放了回來。
這就是蘇武牧羊的【故事】,隨著【故事】的流傳,鴻雁傳書也廣為人知,並逐漸演化為傳信的象徵了。