-
يكشنبه, ۲۶ مرداد ۱۳۹۹، ۱۰:۱۹ ق.ظ
-
۱۸۴۴
جعل هویت در پایتون
درود به همه !
تا حالا زیاد در مورد جعل مقادیر نرم افزاری شنیده بودیم . مثلا جعل مک آدرس ، جعل IP و .... . کاری به این موارد نداریم . امروز میخوایم به بحث جعل هویت فردی بپردازیم . در این پست با کتابخونه ای در پایتون آشنا میشیم به اسم Faker که میتونه برامون اطلاعات هویتی جعلی (حتی هویت جعلی ایرانی) تولید کنه .
در ابتدا ما باید کتابخونه ی Faker رو نصب کنیم . برای نصب این کتابخونه از ابزار pip استفاده میکنیم .
نصب Faker در لینوکس :
MrPython@debian:~$ sudo pip3 install faker
نصب Faker در ویندوز :
C:\> pip install faker
حالا دیگه میتونیم اسکریپتمون رو بنویسیم. کار این اسکریپتی که امروز مینویسیم به این شکل است که در هربار اجرای اسکریپت ، اطلاعات هویتی جعلی متفاوتی قبیل از : نام و نام خانوادگی ، شغل ، آدرس و... تولید میشود . جالب است بدونید این اسکریپت اطلاعات هویتی جعلی ایرانی تولید میکنه .
سورس اسکریپت :
from faker import Faker
faker = Faker("fa_IR")
#### GENERATE Fake Variables ###########
fullname = faker.name() # Random Full Name
username = faker.user_name() # Random Username
password = faker.password() # Random Password
email = faker.email() # random Email
job = faker.job() # Random JOB
address = faker.address() # Random Address
favorite_color = faker.color_name() # Random Favorite Color
website = faker.domain_name() # Random Website Domain
###### SHOW Fake Variables #########
print("Full Name : {}\n".format(fullname))
print("Username : {}\n".format(username))
print("Password : {}\n".format(password))
print("Email : {}\n".format(email))
print("Job : {}\n".format(job))
print("address : {}\n".format(address.replace("\n" , " - ")))
print("Favrite Color : {}\n".format(favorite_color))
print("Web Site : {}\n".format(website))
توضیح سورس کد :
در ابتدا کلاس Faker رو از کتابخونه ی faker ایمپورت کردیم . سپس در خط بعد یک شیء Faker ساختیم و ریختیم داخل متغییر faker . اگه توجه کنید در ورودی این شیء ما رشته fa_IR رو وارد کردیم . این رشته یعنی اینکه ما میخوایم اطلاعات هویتی ایرانی تولید کنیم .
در زیر کامنت GENERATE fake variables اومدیم اطلاعات جعلی رو تولید کردیم . برای مثال در اولین متغییر آن یک نام جعلی با استفاده از متود faker.name تولید کردیم و ریختیم داخل متغییر fullname . به همین روال تمام اطلاعات جعلی مورد نیاز رو تعریف کردیم .
در زیر کامنت SHOW Fake Variables توسط دستور print تمام این اطلاعات جعلی که در بالا تعریف کردیم رو چاپ کردیم و به کاربر نشون دادیم .
خب بزارید برای اولین بار اسکریپت رو اجرا کنم . در تصویر زیر نتیجه رو میبینید :
همینطور که میبینید اطلاعات جعلی ایرانی تولید کرده .
نکته ای که باید گفت این است که کتابخانه ی Faker خیلی از اطلاعات دیگر مثل آدرس IP جعلی ، مک آدرس جعلی ، Location جعلی و .... رو میتونه تولید کنه که هر کدومشون یه تابع خاص خودشونو دارن . در زیر لینک منبع آموزشی faker قرار داره که میتونید بخونیدش :
https://faker.readthedocs.io/en/master/
همینطور که در تصاویر زیر میبینید ، در هربار اجرای اسکریپت اطلاعات جعلی متفاوتی تولید میشود .
همچنین میبینید که بعضی اطلاعاتی که تولید میکنه ممکنه از نظر منطقی درست نباشن .
یا حق !
Telegram Channel : @mrpythonblog