標籤:python python網路編程 arppingin socket
socket使用1 socket基本參數瞭解
1.在建立socket對象的時候,需要告訴系統兩件事情
1.1 通訊的類型是什麼(IPv4/IPv6等)
1.2 使用的協議是什嗎?(TCP/UDP等)
2.各個通訊類型和協議的標識
2.1 IPv4:AF_INET
2.2 IPv6:AF_INET6
2.3 TCP:SOCK_STREAM
2.4 UDP:SOCK_DGRAM
2 socket使用
1.建立一個socket
# 建立一個socket,使用的通訊類型是IPv4,使用的協議是TCP# socket.socket --> 建立一個socket串連s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
2.串連socket
# connect --> 串連# www.arppinging.com 代表地址,可以使用網域名稱,python會解析得到地址之後再去串連,80為連接埠號碼,前面我們定義了SOCK_STREAM,所以這裡使用的是TCP的80號連接埠s.connect(("www.arppinging.com",80))
執行個體
1.建立一個socket串連並馬上中止
#!/usr/bin/env python# basic Connection arppinging.com import socketprint "creating socket..."# 使用socket.socket建立一個sockets = socket.socket(socket.AF_INET,socket.SOCK_STREAM)print "done."print "Connecting to remote host......"# 使用connect串連sockets.connect(("www.arppinging.com",80))print "done."
執行
[[email protected] network]# python create_socket.py creating socket...done.Connecting to remote host......done.[[email protected] network]#
2.擷取socket資訊
2.1 getsockname() 原生IP和連接埠號碼
2.2 getpeername() 對端的IP和連接埠號碼
#!/usr/bin/env python# Information arppingingimport socketprint "Creating socket..."s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)print "done."print "Connect socket..."s.connect(("www.arppinging.com",80))print "done."# 擷取原生IP和portprint "Connected from",s.getsockname()# 擷取對端的IP和portprint "Connected to",s.getpeername()
運行
Creating socket...done.Connect socket...done.Connected from (‘192.168.10.10‘, 44578)Connected to (‘119.28.23.106‘, 80)
[python網路編程]socket的簡單使用(一)