python socket相关的问题

时间:2010-03-01 12:42:21

标签: python sockets

我是python中socket编程的新手。我阅读了一些教程和手册,但我没有找到我想在手册或教程中制作与python相关的套接字脚本。

我想制作套接字脚本,它可以向服务器发送一些信息,并从服务器接收一些信息。例如,我想将我的登录信息发送到服务器,并希望从服务器接收结果回复。

但我不知道......如何将我的登录信息(id和密码)发送到服务器。

我被wireshark捕获,一些过程将登录信息发送到服务器。

,我发现端口号是5300,服务器IP是58.225.56.152

我的发送ID是'aaaaaa'和密码'bbbbbbb'而且我收到了

'USER NOT FOUND'来自服务器。

如何使用python套接字进行这种处理?

如果有人帮我一些参考或一些例子或任何有用的帮助我们非常欣赏!

0000   00 50 56 f2 c8 cc 00 0c 29 a8 f8 c0 08 00 45 00  .PV.....).....E.
0010   00 e2 2a 19 40 00 80 06 d0 55 c0 a8 cb 85 3a e1  ..*.@....U....:.
0020   38 98 05 f3 15 9a b9 86 62 7b 0d ab 0f ba 50 18  8.......b{....P.
0030   fa f0 26 14 00 00 50 54 3f 09 a2 91 7f 13 00 00  ..&...PT?.......
0040   00 1f 14 00 02 00 00 00 00 00 00 00 07 00 00 00  ................
0050   61 61 61 61 61 61 61 50 54 3f 09 a2 91 7f 8b 00  aaaaaaaPT?......
0060   00 00 1f 15 00 08 00 00 00 07 00 00 00 61 61 61  .............aaa
0070   61 61 61 61 07 00 00 00 62 62 62 62 62 62 62 01  aaaa....bbbbbbb.
0080   00 00 00 31 02 00 00 00 4b 52 0f 00 00 00 31 39  ...1....KR....19
0090   32 2e 31 36 38 2e 32 30 33 2e 31 33 33 30 00 00  2.168.203.1330..
00a0   00 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f  .Microsoft Windo
00b0   77 73 20 58 50 20 50 72 6f 66 65 73 73 69 6f 6e  ws XP Profession
00c0   61 6c 20 53 65 72 76 69 63 65 20 50 61 63 6b 20  al Service Pack 
00d0   32 14 00 00 00 31 30 30 31 33 30 30 35 33 31 35  2....10013005315
00e0   37 38 33 37 32 30 31 32 33 03 00 00 00 34 37 30  783720123....470

0000   00 0c 29 a8 f8 c0 00 50 56 f2 c8 cc 08 00 45 00  ..)....PV.....E.
0010   00 28 ae 37 00 00 80 06 8c f1 3a e1 38 98 c0 a8  .(.7......:.8...
0020   cb 85 15 9a 05 f3 0d ab 0f ba b9 86 63 35 50 10  ............c5P.
0030   fa f0 5f 8e 00 00 00 00 00 00 00 00              .._.........

0000   00 0c 29 a8 f8 c0 00 50 56 f2 c8 cc 08 00 45 00  ..)....PV.....E.
0010   00 4c ae 38 00 00 80 06 8c cc 3a e1 38 98 c0 a8  .L.8......:.8...
0020   cb 85 15 9a 05 f3 0d ab 0f ba b9 86 63 35 50 18  ............c5P.
0030   fa f0 3e 75 00 00 50 54 3f 09 a2 91 7f 16 00 00  ..>u..PT?.......
0040   00 1f 18 00 01 00 00 00 0e 00 00 00 55 73 65 72  ............User
0050   20 4e 6f 74 20 46 6f 75 6e 64                     Not Found

2 个答案:

答案 0 :(得分:1)

用于连接MSN Messenger服务的Python库:

http://blitiri.com.ar/p/msnlib/

(免责声明:我自己从未使用过这个。)

答案 1 :(得分:1)

socket是一个端点,您可以使用它发送和接收数据。要在python中访问套接字,可以使用套接字模块。

套接字几乎是可用于实现不同协议的最低级别的模块。例如,如上所述,如果您要向服务器发送http请求并从服务器接收http响应,则可以使用requestsurllibhttplib之类的不同模块。但它们都是使用套接字模块构建的。

现在,您应该为服务器创建一个套接字,为客户端创建一个。一种方法是使服务器套接字作业侦听传入的连接,而客户端套接字则向该侦听器发出请求。建立连接后,将在服务器端创建另一个套接字,该套接字将向客户端套接字发送数据或从客户端套接字接收数据。

#client side
import socket
client_socket = socket.socket()
client_socket.connect(('server ip address',server port number to which you want to connect))
client_socket.send('hi')
client_socket.recv(4096)
client_socket.close()


#server side
server_socket = socket.socket()
server_socket.bind(('server ip address',server port number))
server_socket.listen(0)
server_new_socket,ip_address = server_socket.accept()
server_new_socket.send('connection established')
server_new_socket.recv(4096)
server_new_socket.close()

实际上,您可以对其进行修改,使其能够发送和接收所需数量的数据