QQ登录

只需要一步,快速开始

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

tcp的socket连接报文测试工具

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:21 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
# -*- coding: utf-8 -*-
; B( v# S/ v& Y7 e0 pimport socket
+ ^+ V0 p3 }7 n7 c8 xfrom myutil import *' D4 q- ^- r/ e1 f
from binascii import unhexlify as unhex
  _8 u2 N; i' F8 `: xfrom ctypes import *
* m+ L! k# s" M" h; D$ c3 m/ u8 sdll = cdll.LoadLibrary('mydll.dll')
4 o  ~, j& i2 D, ^; o- ?' sprint 'begin load mydll..'
5 v, _* g% `* |% N3 D! ]( hHOST, PORT = "192.168.51.28", 5800: U' O8 F( p5 i/ B3 O( ?+ Y
sd ="1234567812345678"
& ~4 y. B2 C( j- k2 `9 r9 b# Create a socket (SOCK_STREAM means a TCP socket)# ~0 n9 _  U3 j1 ^$ E6 b2 a; Z8 H
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
6 b0 M1 j, U3 t) \3 Ytry:8 I6 G  f* S* L0 }: X- j% V
    # Connect to server and send data
% d6 M8 Y+ {. R    sock.connect((HOST, int(PORT))
2 i3 ]6 ~3 S9 I2 u. q    print "Sent1 OK:"
3 n: i% w3 H" T" E3 u    print sd
$ ~7 d% ]7 i* w" m* T9 H  J2 ~    # Receive data from the server and shut down
8 v$ z* e* Q+ F    received = sock.recv(1024)# n8 c: k' c2 Q  a) ?6 H; T
    print "Received:"( U; H; k* \( s+ ^4 r
    print_hex(received)! t( R- d' Q2 w# S# R
    print  'received len is 0x%02x' %(len(received))
6 O* Z+ ~, ?  ~3 Y, u/ K; \7 |    print  'received data analysis...'
( ?1 D$ Q$ J$ o/ I# u# D& ^    re1=received[0:4]
* Q1 ]1 I& r" ~) P* H$ n& v    print_hex(re1), h8 t) z# e& N9 |# Z3 X) j
    re1=received[4:6]# z+ X4 Q3 Y* {0 M4 r
    print_hex(re1): c! f0 e& c" K. x  z
    re1=received[6:10]& U( R- E* J  q
    print_hex(re1)6 K- k) b6 x/ n; T
    re1=received[10:16]
; V3 V2 H+ B) e+ d( T    print_hex(re1)$ F" d8 ~  k4 K' `8 z! H
2 G* a. k) y" r( E( i2 [0 c# {
    #pack2 send
7 R1 \% B9 y( Z* h0 m3 F0 A    sock.send(sd2.decode('hex'))
& U, t& j! h/ K$ }    print "Sent2 OK:"0 e! E! }; L7 c* q2 }4 k1 h
    print sd2
' H0 Y! x! ~5 q$ ?$ t- O    # Receive data from the server and shut down4 |" b5 r- R4 ]2 B1 x* w& j2 j
    received1 = sock.recv(1024)
# G+ G2 m2 r* e    print "Received1:"
4 _  ^* y7 y1 K1 c2 `    print_hex(received1)4 T' w4 e# U6 z' J( `, X
    print  'received1 len is 0x%02x' %(len(received1)): Q3 k  O3 Z: {1 ]5 g) D% ]

: V2 m- \: q+ Y7 cfinally:
, G1 k4 n7 ~/ t0 D$ ^* v+ K- K    sock.close()
8 R8 N8 q; f; c1 m5 J+ b) F
1 p! k3 }6 N' R' y& M7 |$ Ks=raw_input('press any key to continue...')
: H! S$ q4 f7 C, U  s0 J' F0 t: B9 b. x8 z2 E7 x0 S

, x; G, H, b3 R: p4 D; y7 Y
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 08:11 , Processed in 0.273335 second(s), 51 queries .

回顶部