数学建模社区-数学中国
标题:
tcp的socket连接报文测试工具
[打印本页]
作者:
2744557306
时间:
2024-3-31 17:21
标题:
tcp的socket连接报文测试工具
# -*- coding: utf-8 -*-
s$ f. h0 {* t8 B( i
import socket
+ r4 ~3 w6 g# {1 ^/ X# f
from myutil import *
) J$ ]/ {% s1 S$ j; w0 Q7 v
from binascii import unhexlify as unhex
" k: g, |' j; K1 O& c3 t+ {
from ctypes import *
+ a- b+ c, |) m' G! W9 Y5 R
dll = cdll.LoadLibrary('mydll.dll')
: `3 Q9 G8 L3 b" P4 F L# }$ t
print 'begin load mydll..'
! Z2 l9 o& p" V+ A7 V1 `* Q( `- F
HOST, PORT = "192.168.51.28", 5800
5 Y! R3 h0 r" o4 C# ~
sd ="1234567812345678"
% O) l8 i3 o& P1 J" F
# Create a socket (SOCK_STREAM means a TCP socket)
: u$ y% Z/ h4 p- i/ m
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
0 N: C1 L9 Q W
try:
$ I+ K; N; L+ |$ h. k
# Connect to server and send data
" e! S' m( s/ x6 ]* }
sock.connect((HOST, int(PORT))
, e p7 t: t8 _/ ~9 j4 Z, Q% g5 _7 V
print "Sent1 OK:"
8 u) x: X% U. u2 E7 a& V
print sd
( l: E7 d7 S7 Q9 ~' y$ e
# Receive data from the server and shut down
; l$ B! p9 z2 ~- U4 `# L+ r+ P
received = sock.recv(1024)
4 w+ [# e, ^- t, s5 N5 h
print "Received:"
9 r* ^2 ? g1 b& n9 |
print_hex(received)
2 @( \' l% {; M Q, C' c8 \) y4 ]' W
print 'received len is 0x%02x' %(len(received))
' H( |8 m; P. f$ @
print 'received data analysis...'
: G& P7 M, G# l+ I1 v$ q2 s
re1=received[0:4]
4 l; y: H- L+ x# Z
print_hex(re1)
& D6 R ~# N8 b4 T5 s
re1=received[4:6]
% w& b1 P% z/ v7 t9 s8 M# O/ X% B
print_hex(re1)
% u0 O" q! G3 [
re1=received[6:10]
' o4 L4 y2 L2 A/ X
print_hex(re1)
2 |! V+ a6 D4 I/ E0 s
re1=received[10:16]
2 h! R0 L, s3 s" `1 \" @
print_hex(re1)
5 ~" M! M8 w4 d/ Z
6 Z+ G1 z& V6 z7 g' D, ^4 s9 k
#pack2 send
! L; L8 }, p3 @; n% k* N
sock.send(sd2.decode('hex'))
5 I( y3 T! v" L# l4 B' O
print "Sent2 OK:"
* w2 o1 l$ [: a$ n
print sd2
( O/ w/ ^% J& i: [9 {
# Receive data from the server and shut down
6 O6 B' ]' Z3 c, @
received1 = sock.recv(1024)
$ W9 J+ c" Q3 ^5 _' T$ [/ A% K
print "Received1:"
$ a0 J: R* o g: @% V: Q" Q" C- L
print_hex(received1)
9 N, H+ _; z( J" V! M: t
print 'received1 len is 0x%02x' %(len(received1))
$ C4 a5 S( D; K' B
9 s, N3 K0 F |/ x
finally:
* @' m3 K9 s% t
sock.close()
7 p( }. S9 E7 O1 i, ^; C
- D w' a" \% u+ u
s=raw_input('press any key to continue...')
0 W) D( k+ Z1 k# B, E# e
: y! Z, ~- V: f
( e4 }; a0 T& }
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5