二、抓包工具和python簡介及入門


 

 

 

一、抓包工具

常用的抓包工具有兩種:Charles和Fiddler

兩者的區別:Charles不分平台,可用於Mac、windows和Linux,而fiddler只能用於windows

共同點:可以抓到PC端的請求,手機設置代理后也可以抓到手機上的請求,也可以修改請求數據和返回數據

*Charles

web端:打開Charles,訪問網頁既能抓到請求

app:設置代理,手機Wi-Fi,寫上本機IP地址和端口號,打開app就能抓到請求(Charles默認端口號為8888)

Charles過濾請求:

抓包時可把抓到對我們沒用的請求過濾掉

Charles修改請求和返回值:

1.找到要修改的請求

2.設置斷電

3.修改請求/返回

4.重新發送請求

fiddler同Charles一樣設置代理,端口號默認8888

fiddler修改請求和返回值

1.找到要修改的請求

2.設置斷點

3.修改請求,在發出請求之前設置斷點,修改請求/發送

4.修改返回,在獲取到返回之前設置斷點,修改返回值,再發送

設置返回斷點

二、python

1.python是一種面向對象的解釋型計算機語言

2.python配置環境變量

把python的安裝目錄及python安裝目錄下的scripts目錄加入到環境變量中,例:;C:\Python35;C:\Python35\Scripts

3.交互模式下運行python代碼

Windows下,安裝好python並且配置好環境變量之后,直接在命令行里面輸入python就可以進入python交互式命令行,Linux下同windows

以.py結尾命名python文件,在交互模式下運行python文件格式為:python hello.py

windows下運行python文件時需要在指定目錄下運行,與Linux不同的是,Linux可以直接運行python文件,只需加上執行權限,在python文件最前面指定python解釋器即可

4.第一個小程序:hello world!

5.變量

通俗的說,變量就是用來存東西供后面的來用,用=就能解決,也不需要指定數據類型,直接定義就好,值得一提的是python變量里面存的是內存地址,也就是這個值存在內存里面的哪個地方,如果再把這個變量賦值給另一個變量的話,新的變量通過之前那個變量知道那個變量值的內存地址存起來,而不是指向的之前那個變量

name = 'cathy'
new_name = name # new_name存的也是cathy的內存地址

變量名只能是 字母、數字或下划線的任意組合
變量名的第一個字符不能是數字

不能聲明為變量名的關鍵字

'and''as''assert''break''class''continue''def''del''elif''else''except''exec''finally'

      'for''from''global''if''import''in''is''lambda''not''or''pass''print''raise''return'
      'try''while''with''yield'

6.python中的單引號、雙引號和三引號

python中定義變量的時候字符串都用用引號括起來,單引號和雙引號沒有區別,如果說這個字符串里面有單引號的話,那你外面就用雙引號,里面有雙引號的話,外面就用單引號,如果既有單又有雙,那么用三引號,三引號也可以多行注釋代碼

msg = "I'm Sriba." #有單引號,所以外面用雙引號
info = 'Python comments ues "#".' ##有雙引號,所以外面用單引號
new_msg = '''I'm Sriba, i love "Python".'''#有雙引號和雙引號,所以外面用三引號
'''
上面的代碼是說明單引號、雙引號和三引號的
這一段是注釋,說明三引號也有多行注釋的功能
'''

7.輸入、輸出

輸入函數input,接收的是字符串,輸出函數print

name = input('請輸入你的姓名:')#把接收到的值賦給name變量
print('name')#輸出接收到的輸入

input()函數接收到的值,全部都是字符串類型的,如果要和int類型做比較的話,必須用int()把字符串轉成int類型的,才能做比較,如:

age = int(input('輸入你的年齡:'))

查看變量的類型

print('看age是什么類型:',type(age))

getpass標准庫可以隱藏你輸入的值,比如密碼不想被別人看到,使用getpass.getpass方法就可以在輸入的時候,不回顯

import getpass #導入getpass模塊        
password = getpass.getpass('Please enter your password:') #接收輸入的密碼
print(password)

8.條件判斷if else 條件分支的話使用if、elif、else,格式如下:

if tar_name == s_name:
print('你很帥')
elif tar_name == name2:
print('180大個子')
elif tar_name == name3:
print('帥')
else:
print('你很丑')
if判斷時候,都是判斷的真或者假,也就是True和False

9.布爾類型有兩種:真和假

t = True
f = False

10.循環、遍歷、迭代

python里面有兩種循環
while
for

count = 8  # 計數器
while count<10:
print('我困了!')
count=count+1#循環體
else:
print('睡醒了。')

#break的用法
退出循環,break只能在循環里面用,如果在循環里面遇到break,那么立即退出循環
count = 0  # 計數器
while count < 10:
print('上班不積極!')
count = count + 1
if count==5:
break
#continue的用法,continue的作用是退出本次循環
count = 0  #計數器
while count<10:
count=count+1
if count == 5:
continue
print('下課%d'%count)
#for循環里面的break

for i in range(10):
print('上課,%s'%i)
if i == 6:
break
#for循環里面的 continue用法
for i in range(10):
if i==7:
continue
print('中午吃什么,%s'%i)

#for循環對應的else,只有當for正常循環結束才會執行
for count in  range(1,11):#顧頭不顧尾
print(count)
else:
print('over。。。')

11.記住一句話,非0即真,非空即真

12.小游戲

import random#隨機數模塊
sub_str=random.randint(1,101) #生成1-100的一個隨機數
while 1:#while的意思就是,讓它一直為真,也就是死循環,下面通過break來停止循環
num=int(input('plase enter a num , 1-100:'))
if num>100 or num<1: #判斷輸入的數字是否在1-100之間
print('num error,plase enter 1-100.')
continue
else:
if num==sub_str: #如果猜對了,結束循環
print('You win. game over,the num is %d'%sub_str)#不懂這個的請看下面的第十四,字符串格式化輸出
break
elif num < sub_str:#如果猜小了,就跳出本次循環,提示猜小了
print('The num is small,plase enter other num.')
continue
else:#就三種情況,大、小等於,前面兩種是等於和小雨,那么else就是大於了,如果猜大了,就跳出本次循環,提示猜大了
print('The num is too big,plase enter other num.')
continue


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM