拨号音识别(Tone Recognition)

最早的电话机是磁石电话机,靠自备电池供电,用手摇发电机发送呼叫信号。1891年出现了旋转拨号盘式自动电话机,它可以发出直流拨号脉冲,控制自动交换机动作,选择被叫用户,自动完成交换功能。20世纪60年代末期,出现了按键式全电子电话机,采用双倍多频方式传输信号。常见的电话拨号分为脉冲拨号和双音多频拨号。目前,无论是固定电话还是手机,基本都采用双音多频方式拨号。

1. 脉冲拨号(Pulse Dialing)

拨号时,转动拨号盘上相应的数字,拨号盘在回转的过程中控制电话机内电路节点的“断”和“续”,从而使流过电话电路中的电流时有时无,发出代表对方电话号码的电脉冲。比如:

  • 拨号“1”时,电路“断”“续”1次,代表数字“1”
  • 拨号“8”时,电路“断”“续”8次,代表数字“8”
  • 拨号“0”时,电路“断”“续”10次,代表数字“0”。

每一位拨号,电路“断”“续”多次。但是,这种拨号方式速度较慢,所发出的直流脉冲信息容易导致交换机识别错误。

2. 双音多频拨号(Dual-Tone Multi-Frequency,DTMF)

双音多频拨号是当前广泛使用的拨号方法。DTMF技术生成一系列的双音信号,每个信号对应一个电话键。在这个过程中,每个信号由两个不同的音高组成,分别为“mark”和“space”。这两个音高之间的频率和持续时间不同,以便区分不同的电话键。

DTMF技术具有以下优点:

  • 高精度:可以准确识别电话号码
  • 高速:可以快速识别电话号码
  • 可靠性:可以在各种环境中工作

总之,拨号音识别、脉隆拨号和双音多频拨号都是电话系统中的关键技术,可以实现电话的自动交换和连接。

【例题】du~du~du~.wav

【题目来源】2021“华能睿渥”杯

【题目描述】找到文件中的flag

【解题思路】查看音频的波形图和频谱图,没有发现明显的隐写信息。播放音频,发现是歌曲《桥边姑娘》,但也没有发现flag。因为文件是WAV格式,所以尝试用SilentEye提取。将音频拖入SilentEye,按下图的步骤提取LSB隐写信息,得到1.mp3文件。
CTF — 拨号音识别_隐写

播放1.mp3,并结合题目名称,我们猜测接下来要识别按键。在Audacity中查看1.mp3的频谱图,如下图所示,左侧的数值代表频率(Hz)。

CTF — 拨号音识别_CTF_02

对照下表:

电话各按键的DTMF信号

低频群高频群
1209Hz1336Hz1477Hz1633Hz
697Hz123A
770Hz456B
852Hz789C
941Hz*0#D

手工放大数值区域。具体方法:将鼠标移动到1k~2k之间,单击鼠标右键,如下图所示,再选择“放大”。

CTF — 拨号音识别_隐写_03

经过反复整理后的结果如下图所示,最后识别的拨号为:53672516386126。

CTF — 拨号音识别_隐写_04

如果可以连接互联网,使用网站http://dialabc.com/sound/detect/index.html也能辅助识别拨号按键。我们向该网站上传1.mp3,发现文件解析错误。此时可以利用Audacity将1.mp3导出为WAV格式。向网站上传转换后的WAV文件,解析结果如下图所示:
CTF — 拨号音识别_拨号音识别_05