mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-16 21:28:33 +03:00
gsmtap.py: gsmtap_send_apdu and test main function
ATRs should probably be treated differently? Also, is there a performance penalty when using scapy instead of holding a connection open?
This commit is contained in:
@@ -5,13 +5,24 @@ from scapy.all import IP, UDP, sr1
|
||||
ip="127.0.0.1"
|
||||
port=4729
|
||||
sp=58621
|
||||
data=("\x02\x04\x04"+"\x00"*13+"\x9f\x16\xa0\xc0\x00\x00\x16", "\x9f\x16\xa0\xc0\x00\x00\x16")
|
||||
gsmtap_hdr="\x02\x04\x04"+"\x00"*13
|
||||
|
||||
p=IP(dst=ip, src=ip)/UDP(sport=sp, dport=port)/data[0]
|
||||
# FIXME: Is ATR something special?
|
||||
|
||||
if p:
|
||||
p.show()
|
||||
def gsmtap_send_apdu(data):
|
||||
# Do we have performance penalty because the socket stays open?
|
||||
p=IP(dst=ip, src=ip)/UDP(sport=sp, dport=port)/(gsmtap_hdr+data)
|
||||
# FIXME: remove show and ans
|
||||
if p:
|
||||
p.show()
|
||||
|
||||
ans = sr1(p, timeout=2)
|
||||
if ans:
|
||||
print(a)
|
||||
ans = sr1(p, timeout=2)
|
||||
if ans:
|
||||
print(ans)
|
||||
|
||||
if __name__ == '__main__':
|
||||
cmds = ("\xa0\xa4\x00\x00\x02\x6f\x7e\x9f\x0f",
|
||||
"\xa0\xd6\x00\x00\x0b\xff\xff\xff\xff\x09\xf1\x07\xff\xfe\x00\x03\x90\x00",
|
||||
);
|
||||
for cmd in cmds:
|
||||
gsmtap_send_apdu(cmd)
|
||||
|
||||
Reference in New Issue
Block a user