QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2338|回复: 0
打印 上一主题 下一主题

tcp的socket连接报文测试工具

[复制链接]
字体大小: 正常 放大

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:21 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
# -*- coding: utf-8 -*-
% i( J+ P; N7 {' x: j" Pimport socket
5 j3 H/ D# ]5 j7 `  {from myutil import *
) B- p8 |/ Z* W5 x" K0 wfrom binascii import unhexlify as unhex$ }' C/ a6 w- R
from ctypes import *# g9 I) ]" T8 ?4 B* N
dll = cdll.LoadLibrary('mydll.dll')
- @  t6 H, {2 h; v. p3 _! x7 yprint 'begin load mydll..'
6 C" [( k0 M3 |% d% oHOST, PORT = "192.168.51.28", 58000 s4 K! R. z" L
sd ="1234567812345678"
8 ]$ U# C$ ^. I6 O# Create a socket (SOCK_STREAM means a TCP socket)
& B( c1 g) _* S9 F' O0 Hsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)6 M/ G% t7 S0 N
try:
' T9 g  q3 s- u$ G2 p" F7 c/ f* F    # Connect to server and send data2 B# y, b, x! r. D, F/ i  I
    sock.connect((HOST, int(PORT))
4 g$ D& J8 O# `$ l2 ^) X    print "Sent1 OK:"9 F# d" Q9 ^5 B) V
    print sd
" p, c/ E3 K( M% e4 v) @    # Receive data from the server and shut down/ b8 g2 w7 r- b9 w
    received = sock.recv(1024)
; {- J6 E2 j) G9 o+ O  T/ _    print "Received:"2 K+ A4 n! s; z1 t, {
    print_hex(received)1 C7 C0 D( q  C( Q( |5 V
    print  'received len is 0x%02x' %(len(received))
1 E( [( M0 ?1 `3 F- T    print  'received data analysis...'" p7 \0 v) U6 ~& Q/ p5 F. Z
    re1=received[0:4]
( m/ {7 M8 m0 L& c    print_hex(re1)  g5 J# l5 e+ u+ \5 O8 J
    re1=received[4:6]
% n& z; q1 x9 N5 S. m    print_hex(re1)
# E# |) l" A5 r! C1 z. D9 [/ d% Q9 |& _/ g    re1=received[6:10]* r6 a; l& K# B) b. a6 A9 S
    print_hex(re1)
1 I: {# {2 F5 z6 P3 v. ]* V4 V1 P    re1=received[10:16]) K3 J, {0 K* ^! s" X$ u0 @9 [
    print_hex(re1)+ F, |1 Z2 d" b4 M2 _, W& D" U+ i

$ ^; F' w$ L& ]. v* Q  ]; r; R    #pack2 send
" k! D4 D1 C- r0 F. {. D    sock.send(sd2.decode('hex'))0 }. J0 ~. M* Y. P; S
    print "Sent2 OK:"3 }7 b# m) O* C' m6 C$ h
    print sd2
2 J0 G6 s. L- @1 v; S1 S    # Receive data from the server and shut down& r& {& S8 S' W. }+ T- ~0 b
    received1 = sock.recv(1024)
5 Q* m7 V! J3 J0 a% ~4 \    print "Received1:"' p& M. a# g: F0 Y) ~6 r
    print_hex(received1)5 d7 |. Y( t: |5 l
    print  'received1 len is 0x%02x' %(len(received1))
0 c% x; Y, H/ e$ a% a2 B, M* n# u: \* o
finally:
5 u+ t  F8 r) G' w    sock.close()  D4 X' V( @- D6 l( a
  v. Z3 Q" b3 \* L2 S
s=raw_input('press any key to continue...')
% T2 G6 [7 H6 A& b8 t
% C6 w- ]+ c3 y+ r) u
% p/ M( ^+ \8 p5 d% L
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-18 13:07 , Processed in 0.414591 second(s), 51 queries .

回顶部