Trong bài viết này, chúng ta sẽ xem cách giám sát kết nối mạng và lưu tệp nhật ký trong Python.
Tư tưởng cơ bản của tập lệnh này là cung cấp thông tin theo thời gian thực về việc hệ thống mà tập lệnh đang chạy có được kết nối với kết nối internet hay không và đồng thời lưu thông tin đó vào tệp nhật ký, lưu giữ hồ sơ khi hệ thống được kết nối
Tập lệnh này được tạo bằng thư viện ổ cắm trong Python, trong chương trình này được sử dụng để gửi hoặc nhận các gói trên mạng
tệp nhật ký
Bắt đầu đơn giản bằng cách tạo một tệp nhật ký trong thư mục làm việc hiện tại để lưu trữ trạng thái kết nối internet
con trăn
FILE = os.path.join(os.getcwd(),"networkinfo.log")
ping()
Sử dụng chức năng này, tập lệnh sẽ thử kết nối với máy chủ đã xác định, để kiểm tra xem hệ thống có kết nối internet trực tiếp hay không. Nhiệm vụ này sẽ được thực hiện bằng cách sử dụng xử lý ngoại lệ trong python (thử, ngoại trừ, khác).
- Hệ thống sẽ thử ping một máy chủ cụ thể (PORT tại một IP)
- Nếu máy không kết nối được, câu lệnh EXCEPT sẽ được thực thi
- Nếu không, kết nối sẽ bị đóng sau khi hệ thống được kết nối thành công với máy chủ
Mã số
con trăn
def ping():
FILE0
FILE2
FILE4
FILE6
FILE8
=0
____12____13
=4=5____16)
=4=9
=4os.path.join(os.getcwd(),1
=4os.path.join(os.getcwd(),3= os.path.join(os.getcwd(),5
=4
=4os.path.join(os.getcwd(),8= "networkinfo.log"0
=4"networkinfo.log"2= "networkinfo.log"4
=4"networkinfo.log"6____1 "networkinfo.log"8
=4
=4)1
=4)3
)5 )6
)7
=4)9
=4def1
=4def3 def4
____56____13
)7
=4ping():0
=4ping():2
=4ping():4
=4def3 ping():7
Các hàm Sử dụng trong chương trình trên
- ổ cắm. setdefaulttimeout(). Nó là một chức năng thư viện ổ cắm sẵn có trong python. bằng cách đặt thời gian chờ mặc định là 3 giây, chúng tôi chỉ định nếu chúng tôi không nhận được bất kỳ phản hồi nào từ máy chủ trong hơn 3 giây, kết nối sẽ không được thực hiện
- ổ cắm. ổ cắm (ổ cắm. AF_INET, ổ cắm. SOCK_STREAM). ổ cắm. socket() được sử dụng để xác định các tham số để kết nối hai nút trong mạng, i. e. hệ thống của bạn tới một PORT cụ thể tại một IP cụ thể để chúng có thể giao tiếp với nhau
- AF_INET là một họ địa chỉ được sử dụng để chấp nhận IP của loại địa chỉ v4 làm tham số mà ổ cắm đã xác định sẽ giao tiếp
- SOCK_STREAM là một giao thức dựa trên kết nối, trong chương trình này sử dụng TCP (giao thức điều khiển truyền dẫn) được sử dụng để chấp nhận một cổng không. như một tham số
tính_thời gian()
Thời gian không khả dụng là khoảng thời gian không có kết nối internet. được tính bằng cách sử dụng thời gian chết (dừng) khi mất kết nối internet và thời gian hoạt động (bắt đầu) khi kết nối internet được khôi phục
con trăn
def ping():9
2
______74= 6 7 8
_______80= 2 3 4 5
def3 4 9=FILE01FILE02FILE03FILE04FILE05
first_check()
Chức năng này sẽ chỉ được thực hiện một lần, tôi. e. ở phần đầu của tập lệnh để kiểm tra xem hệ thống đã được kết nối với kết nối internet hay chưa và ghi nó vào tệp nhật ký. hàm ping() được gọi
- Nếu ping trả về true (máy được kết nối với internet), tập lệnh sẽ in “CÓ THỂ KẾT NỐI” và ghi nội dung tương tự vào tệp nhật ký
- Nếu ping trả về false (hệ thống không được kết nối với internet), tập lệnh sẽ in “CONNECTION NOT ACQUIRED” và ghi tương tự vào tệp nhật ký
con trăn
def FILE07
FILE09
FILE11
FILE13 ping():
=4FILE16____1 FILE18
=4FILE20FILE21
=4FILE23____1 FILE25
=4____027____1 FILE29 FILE30 FILE31
FILE32 4____034FILE02FILE03FILE04FILE05
_______14____020____041
=4FILE43
=4FILE45FILE46 3FILEFILE49FILE50FILE51FILE52=3
_______032____052____056
________ 032 ________ 052 ________ 059
=4def3 ping():7
___8FILE64
____56____13
=4FILE69____1 FILE71
=4FILE20FILE74
=4FILE43
=4FILE45FILE46 3FILEFILE49FILE50FILE51FILE52=3
_______032____052____089
=4def3 def4
chủ yếu()
Chức năng chính, nơi tất cả các chương trình do người dùng xác định sẽ được thực thi và trạng thái internet trực tiếp sẽ được ghi vào một tệp nhật ký
con trăn
def FILE94
___8FILE96
____098= FILE25
________số 8
=03
=05
____107= =09 FILE30 FILE31
=4 4____114FILE02FILE03FILE04FILE05
FILE13 FILE07
=4=23
=4____020____126
=4
=4=29
=4=31
____56____13
=4=36
=4=38 ping():7____13
=41
FILE32=43
_______032____145
FILE32FILE13 =48 ping():
=50
=51=52
=51=54=55)
FILE32____56=3
=50
=51=62
=51=64
_______151____020____126
=51____169
FILE32FILE45FILE46 3FILEFILE49FILE50FILE51FILE52=3