python指令碼練習

2022-04-19 11:36:04 字數 3338 閱讀 6975

技不如人低一等,我的班長告訴我的,很受用!開發一指令碼編寫的能力,脫離指令碼小子的束縛,開啟幸福但路途卻短暫的僅有萬里的長征第一步!

python標準庫和模組提供了廣泛的功能,包括內建資料型別,異常處理,數字和數學模組,檔案處理,加密服務,internet資料處理以及與internet協議(ip)的互動。

pypi:python軟體包索引中找到第三方模組的完整列表。

鍵入命令:wget

解壓檔案:tar -xzf pytohn-nmap-0.4.0tar.gz

切換進入資料夾 :cd python-nmap-0.40

進行安裝:python setup.py install

執行乙個python檔案

首先寫乙個簡單的python輸出檔案

第一行 #! /usr/bin/python     #告訴系統我們要用python直譯器

第二行 name = 「gouwawa」    #」name「是識別符號、 「=」是賦值符 、  「gouwawa」是值

第三行 #print是輸出語句 用拼接符把name變數裡的內容拼接起來

個人理解:人是

乙個物件,五官是「類」,各個部件整合(封裝)後

成為乙個完整的人(物件)

要做什麼事情可以由大腦調控個部分去執行。

kali linux中預設安裝的python可以使用大多數基本功能,例如下面

type()-返回其引數的型別(例如,int,檔案,方法,函式)

在gouwa2.py新增命令 print list[4]後進行列印,可以看到列印出字元5

print輸出字元「5」

python擁有乙個巨大的模組庫,現在我們需要用套機字模組建立tcp連線。

首先我們需要建立套接字,套接字模組有兩個選項,套接字的型別和套接字的和域

域指定套接字通訊中使用的網路介質,最常見的套接字域是af_inet,它指的是internet網路 ipv4套接字(ipv6套接字是af_inet6)。第二個是套接字型別,在這個情況下為sock_stream或tcp樣式的套接字。

首先匯入套接字模組(第3行),然後從套接字類例項化變數(第5行)。建立新變數名字為「s」。用connect()方法(第7行)來建立到特定ip和埠的連線。在這種情況下,ip192.168.101.108和埠443。

建立連線後可以進行很多操作,可以使用receive(recv)方法從套接字(第9行)讀取1024位元組的資料比把它儲存在名為「answer」的變數中;我們可以列印改變量的內容(第11行);然後關閉連線(第13行)。

chmod 755 sockiet 賦予sockeit執行許可權

python sockeit 執行指令碼後可以獲取把資料的資料存入answer中並列印出來

shodan的工作便是如此,對每個ip上執行的服務進行讀取。

成功讀取資料           end!

注意自己的python版本,此處使用的是python3。使用python2需要修改iput語句

注意:

input() 和 raw_input() 這兩個函式均能接收 字串 ,但 raw_input() 直接讀取控制台的輸入(任何型別的輸入它都可以接收)。而對於 input() ,它希望能夠讀取乙個合法的 python 表示式,即你輸入字串的時候必須使用引號將它括起來,否則它會引發乙個 syntaxerror 。

除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與使用者互動。

python3 裡 input() 預設接收到的是 str 型別。

sever= raw_input("")

首先了解linux  shebang(#!)這個符號(下文是大佬寫的文章)

首先,這個符號(#!)的名稱,叫做"shebang"或者"sha-bang"(還有其他一些名稱,不過我一般就用這兩個)。

shebang這個符號通常在unix系統的指令碼中第一行開頭中寫到,它指明了執行這個指令碼檔案的解釋程式。

2. 如果#!之後的解釋程式是乙個可執行檔案,那麼執行這個指令碼時,它就會把檔名及其引數一起作為引數傳給那個解釋程式去執行。

3. 如果#!指定的解釋程式沒有可執行許可權,則會報錯「bad interpreter: permission denied」。

如果#!指定的解釋程式不是乙個可執行檔案,那麼指定的解釋程式會被忽略,轉而交給當前的shell去執行這個指令碼。

4. 如果#!指定的解釋程式不存在,那麼會報錯「bad interpreter: no such file or directory」。

注意:#!之後的解釋程式,需要寫其絕對路徑(如:#!/bin/bash),它是不會自動到$path中尋找直譯器的。

5. 當然,如果你使用"bash test.sh"這樣的命令來執行指令碼,那麼#!這一行將會被忽略掉,直譯器當然是用命令列中顯式指定的bash。

例如:test.sh12

3#!/bin/bash

echo"hello, world."

echo"hello, $."

chmod a+x  test.sh

./test.sh   jay  (執行之時,其實是 /bin/bash ./test.sh jay)

結果為:

hello, world.

hello, jay.

Python指令碼練習

購物車 usr bin env python coding utf 8 account input 請輸入您的帳戶餘額 menu list 商品列表 buy cost 0 print list for k,v in enumerate menu print k,v,menu v c y while ...

python指令碼練習筆記

usr bin python coding utf 8 import socket import os,sys 建立乙個服務端 server socket.socket socket.af inet,socket.sock stream server.bind localhost 6999 繫結要監...

shell指令碼練習

顯示系統資訊 bin bash descrition show system information echo os version is cat etc centos release echo kernel version is uname r echo cpu type lscpu grep m...