数学建模社区-数学中国

标题: tcp的socket连接报文测试工具 [打印本页]

作者: 2744557306    时间: 2024-3-31 17:21
标题: tcp的socket连接报文测试工具
# -*- coding: utf-8 -*-
  s$ f. h0 {* t8 B( iimport socket
+ r4 ~3 w6 g# {1 ^/ X# ffrom 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/ msock = 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/ Z6 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 down6 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  |/ xfinally:* @' 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