造第一个SIP包REGISTER

在网上看到SIP都是直接讲明文,没有谁把代码贴出来的。

用Python2.6写了一个REGISTER消息,用wireshark抓包可以抓到,不用服务器端支持,是UDP的。

import socket;
import time;

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);

s.sendto(
'REGISTER sip:192.168.2.106 SIP/2.0\r\n'
+'Via: SIP/2.0/UDP 59.64.157.21:10342;branch=z9hG4bKrport=10342;received=59.64.157.21\r\n'
+'Max-Forwards: 70\r\n'
+'Contact: <sip:[email protected]:10342;rinstance=a89b345d1acc58cd>\r\n'
+'To: "winlin" <sip:[email protected]>\r\n'
+'From: "winlin" <sip:[email protected]>;tag=2f68fc1a\r\n'
+'Call-ID: a92b1e046f213771MzFlMWE3NTg2YzNhNWIwYjZjYWI5Mzk4NjQ2ODI5YTc.\r\n'
+'CSeq: 1 REGISTER\r\n'
+'Expires: 3600\r\n'
+'Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO\r\n'
+'User-Agent: X-Lite release 1003l stamp 30942\r\n'
+'Content-Length: 0\r\n'
+'\r\n', ("192.168.2.106", 5060));

time.sleep(3);

s.close();

可以直接看到SIP的格式是什么。

抓包是只要设置port 5056就可以,默认SIP的端口是5056,显示可以过滤为SIP协议,如下图:

造第一个SIP包REGISTER_第1张图片

你可能感兴趣的:(造第一个SIP包REGISTER)