数学建模社区-数学中国
标题:
tcp的socket连接报文测试工具
[打印本页]
作者:
2744557306
时间:
2024-3-31 17:21
标题:
tcp的socket连接报文测试工具
# -*- coding: utf-8 -*-
6 ?/ Q4 E, K$ K
import socket
" J! a. E0 }: W; t" r: ^6 P2 ]
from myutil import *
8 n- C) e" p6 z" q8 K
from binascii import unhexlify as unhex
/ l! m: |0 W9 T: j' R, m* x
from ctypes import *
! I/ p! v9 E) x/ Z
dll = cdll.LoadLibrary('mydll.dll')
1 g, {. Y& B4 }$ \
print 'begin load mydll..'
6 n. @% M. Y- w0 n7 n
HOST, PORT = "192.168.51.28", 5800
9 g. c& z( g; t) n
sd ="1234567812345678"
% ~' c: \8 _0 o( }1 M! J
# Create a socket (SOCK_STREAM means a TCP socket)
/ E- C2 U( c+ C& G* b
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
' Q: N9 t1 j# Q2 Z3 M+ _' [/ G" X
try:
- p9 t, R: v! A. v: ^' z) b! D
# Connect to server and send data
+ x* Q5 h# U2 s' ]+ h! E
sock.connect((HOST, int(PORT))
3 n% W$ A' z9 F. C- t/ K- S, l
print "Sent1 OK:"
) P% D t* b& _4 i7 r( p
print sd
6 L1 J- x% h: C
# Receive data from the server and shut down
5 Z& s$ V$ u$ W' D7 C: H- l
received = sock.recv(1024)
K. m% M1 p u7 q
print "Received:"
( f2 g4 D; D& R1 p" v
print_hex(received)
* N5 @9 E5 r2 h1 h9 m- A' Z3 ^
print 'received len is 0x%02x' %(len(received))
' ` O& H- a# z4 I8 K
print 'received data analysis...'
! S( o: p; X4 [) _6 ?' i
re1=received[0:4]
/ H8 k. d7 y8 y7 ~+ h; }) Y
print_hex(re1)
0 N% @7 E5 w4 {; g
re1=received[4:6]
6 o% l4 y2 r* v" o0 ?7 r
print_hex(re1)
8 Z! z% K4 M0 E# r
re1=received[6:10]
. a+ ^9 i! g" J! q$ L
print_hex(re1)
: h6 T6 y6 i* V' I9 s5 F
re1=received[10:16]
& l/ o1 Y% \# T1 L5 m( t
print_hex(re1)
& T* k& O6 G& D
3 Y8 l# D1 n' A
#pack2 send
+ J$ j, G. v4 D$ i
sock.send(sd2.decode('hex'))
" [; J* c0 f7 V5 U ]
print "Sent2 OK:"
3 R, ?0 p) d9 n3 k9 J
print sd2
* u5 R+ A5 k; U8 M/ S' t
# Receive data from the server and shut down
1 q6 D! O0 C7 L
received1 = sock.recv(1024)
) O" _3 B8 A% f% D) T% y
print "Received1:"
- \9 m+ ?9 n! L, G7 Z+ d( O" _8 g+ h
print_hex(received1)
0 P* M0 v7 O2 j- z; a, ]
print 'received1 len is 0x%02x' %(len(received1))
+ D l9 U) \ b
& x5 F% o" P. G2 C
finally:
8 M4 ]. U8 j; ^/ N7 s! o0 |6 q
sock.close()
" \% q4 Y5 [6 _0 L
" k$ K3 Y5 ~$ a _5 H5 A
s=raw_input('press any key to continue...')
# ^* B2 V: e3 t8 \7 R; V j
1 b- y1 _7 ]3 n( F- w( t) F
; a& F3 Z1 t# P# p
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5