Python Socket
967 subscribers
79 photos
150 files
373 links
گروه چت مرتبط با کانال:
https://t.me/PythonSocketChat

@pythonsocket
Download Telegram
دوستان سلام
من بالاخره دلمو زدم به دریا و یک هاست خریدم. یک دامین هم از مدت ها قبل داشتم که اونم متصلش کردم به این هاست.
خیلی دلم میخواست روی سرور مجازی که دست خودم هست، با jekyll سایت را فعال کنم اما مطالعات جانبی میخواست و منم دچار بیماری کمال‌گرایی هستم و نمی‌شد نخوانده وارد بشم.
خلاصه اینکه از یکی دو هفته دیگه انشاا... مستندات رو میارم روی سایت.

ضمناً هاست، یکماهه خریداری شده صرفاً جهت اینکه تست بزنم و ببینم چطوری پیش میره.
امیدوارم مفید باشه.
#خارج_از_بحث
4👏3
دوستان سلام
از ChatGPT در خصوص Endianness سوال کردم. نتیجه را ببینید:
(این برای مجموعه مطالب PE Parser مهم است.)
Endianness refers to the order in which bytes are arranged within larger data types (like integers) when stored in computer memory. It is an important concept in computer science, especially when dealing with systems that have different architectures. There are two main types of endianness: Big Endian and Little Endian.

Big Endian
In Big Endian format, the most significant byte (the "big end") is stored at the smallest memory address, which means it comes first. This is analogous to how we write numbers in everyday life, with the largest digits on the left.

Visual Representation of Big Endian
Let's take a 4-byte (32-bit) integer, for example, 0x12345678. In Big Endian, it would be stored in memory as follows:

Memory Address:   [0x00]  [0x01]  [0x02]  [0x03]
Value: 0x12 0x34 0x56 0x78

Here, 0x12 is the most significant byte and is stored at the lowest memory address (0x00).
👍1
Little Endian
In Little Endian format, the least significant byte (the "little end") is stored at the smallest memory address. This is the opposite of Big Endian.

Visual Representation of Little Endian
Using the same 4-byte integer 0x12345678, in Little Endian it would be stored as follows:

Memory Address:   [0x00]  [0x01]  [0x02]  [0x03]
Value: 0x78 0x56 0x34 0x12


Here, 0x78 is the least significant byte and is stored at the lowest memory address (0x00).
👍1
مقایسه:

Big Endian:      Little Endian:
Memory Address: Memory Address:
[0x00] 0x12 [0x00] 0x78
[0x01] 0x34 [0x01] 0x56
[0x02] 0x56 [0x02] 0x34
[0x03] 0x78 [0x03] 0x12
👍2
بنابراین:
در Big Endian مقدار بایت بالا (MSB) در اولین آدرس قرار می‌گیره (یعنی اول ذخیره میشه.)
در Little Endian مقدار بایت پایین (LSB) در اولین آدرس قرار می‌گیره (یعنی اول ذخیره میشه.)

یک نکته مهم دیگه هم هست:

**توی تبادل اطلاعات در Network، اطلاعات بصورت Big Endian تبادل میشن. (بسیاری از پروتکل ها، نظیر TCP)
**توی پردازنده ها (معماری Intel x86 و AMD) اطلاعات بصورت Little Endian ذخیره میشن.

نکته آخر:
import sys
sys.byteorder

میتونید از این دستور برای بررسی Endianness در سیستم خودتون استفاده کنین.
@pythonsocket
👍2
Python Socket
Python Socket - PE File Parser - Intro.pdf
Python Socket - PE File Parser - DOS Header.pdf
1.4 MB
دوستان سلام
مستند دوم از مجموعه مستندات PE File Parser آماده شده و به پیوست تقدیم می‌گردد.
برای آشنایی کلی با فایل‌های PE می‌توانید از مستند پست قبل استفاده کنید تا یک نگاه کلی از فایل PE استنباط گردد. پس از آشنایی، مستند پیش رو را مطالعه نمائید که به شرح DOS Header از فایل PE پرداخته است.
امیدوارم از این مستند بهره لازم را ببرید.
همچنین می‌توانید از Topicای که مختص این مجموعه مطالب ایجاد شده، به منظور بحث و بررسی و نیز طرح سوال استفاده نمائید:
#PE
https://t.me/PythonSocketChat
3
همانطور که می‌دانید فضای اینترنت، فضایی پر از اخبار و اطلاعات گوناگون است. بخشی از کار ما نیز شاید استفاده از این اخبار و اطلاعات باشد که می‌تواند مطالعه اخبار گوناگون و یا استفاده از این اطلاعات  در کاربردها و ابزارهای شخصی را شامل شود. بعنوان نمونه شاید شما نیز همانند نگارنده از اخبار و اطلاعات ورزشی استفاده کرده و خبرهای مرتبط با تیم یا ورزش محبوب خود را دنبال کنید. در برخی اوقات نیز ممکن است بدنبال ارائه محصولی را در یک فروشگاه آنلاین باشید که پس از موجود شدن آن، به سرعت آن محصول را خریداری کنید. در برخی اوقات نیز ممکن است اطلاعات بدست آمده در فضای اینترنت را در ابزارهای شخصی خود استفاده کنید بعنوان مثال استخراج قیمت روزانه رمزارز و ارسال آن در یک کانال تلگرامی!

دوستان سلام
این مقدمه‌ای است از مجموعه مطالبی که بزودی شروع خواهم کرد: BeautifulSoup .
همراه باشید
@pythonsocket
2
دوستان سلام
یک کاری تصمیم گرفتم انجام بدم که نمیدونم جواب میده یا نه. در یک اقدام انتحاری و شاید البته مسخره، ۱۵ پیغام توی کانال چت و topic=Automation فرستادم. نهایتا قراره برای خودم پروژه تعریف کنم و هر مرحله از کار رو توی یکی از این پست های ارسال شده قرار بدم. نهایتا میشه یک پروژه کامل در رابطه با یک موضوع و یک مثال کاربردی از دنیای عملی.
یکم وقت برای نوشتن مستند کم دارم لذا سعی کردم این شکلی و با زبان ساده تر یک موضوع رو ارائه بدم.
اگر تمایل داشتید گروه چت و عنوان ذکر شده رو دنبال کنین.
موضوع کار هم automation مدیریت یک تعدادی سرور لینوکسه.
#پست_موقت
#خارج_از_بحث
👏3
Python Socket pinned «3 پست راجع به این موضوع نوشتم. اصل ماجرا مطالعه Paramiko متدهای اجرای دستور در Paramiko ببینید اگر تمایل داشتید: https://t.me/PythonSocketChat Topic = Automation»
Python Socket - BeautifulSoup - Part1.pdf
814.6 KB
دوستان سلام
اولین مطلب از مجموعه مطالب BeautifulSoup را در پیوست مطالعه بفرمائید. از ماژول می‌توانید در استخراج داده از وب‌سایت‌های اینترنتی استفاده کنید.
@pythonsocket
👏4
دوستان سلام
مطلب Automation چطور بود؟
به نظرم پروژه‌ای پیش رفتن شاید بد نباشد.
این نمونه را اجرا می‌کنم و اگر مناسب بود، نمونه‌های دیگری را نیز به همین ترتیب پیش خواهم برد.
https://t.me/PythonSocketChat
Topic = Automation
👏6
Python Socket - BeautifulSoup - Part2.pdf
1.2 MB
دوستان سلام
دومین مطلب از مجموعه مطالب BeautifulSoup را به پیوست تقدیم می‌کنیم. در این مستند، کاربرد BeautifulSoup را به شکل دقیق‌تری بررسی نموده و با Objectهای آن آشنا خواهیم شد.
@pythonsocket
2
Python Socket
3 پست راجع به این موضوع نوشتم. اصل ماجرا مطالعه Paramiko متدهای اجرای دستور در Paramiko ببینید اگر تمایل داشتید: https://t.me/PythonSocketChat Topic = Automation
2 پست اضافه کردم.
تعریف کلاس و ایجاد متدهای connect، execute_command و نهایتاً close
اجرای یک مثال برای صحت‌سنجی کد


ببینید اگر تمایل داشتید:
https://t.me/PythonSocketChat
Topic = Automation
Python Socket
Python Socket - PE File Parser - DOS Header.pdf
Python_Socket_PE_File_Parser_DOS_Header_Extract_with_ctypes.pdf
995.3 KB
دوستان سلام
مطلب مکملی برای مستند شماره 2 ارائه می‌شود که در آن به معرفی ctypes و استفاده از آن برای استخراج داده‌های DOS Header پرداخته‌ایم. در این مستند ضمن معرفی ctypes، قطعه کدی طراحی می‌کنیم که با استفاده از ماژول ctypes، اطلاعات فایل PE را خارج نماید.
ماژول ctypes در مقایسه با struct که در شماره قبل استفاده کرده‌ایم، کمی فنی‌تر بوده و نمایش کد و درک آن را منظم‌تر خواهد کرد.
این مستند به پیوست تقدیم می‌شود.
#PE
@pythonsocket
1👍1
Python Socket
2 پست اضافه کردم. تعریف کلاس و ایجاد متدهای connect، execute_command و نهایتاً close اجرای یک مثال برای صحت‌سنجی کد ببینید اگر تمایل داشتید: https://t.me/PythonSocketChat Topic = Automation
سلام
3 تا موضوع دیگه برای کامل‌تر شدن کد در نظر گرفتم:

1. ایجاد یک Argument Parser.
2. ایجاد قابلیت Concurrency که بتونه همزمان روی چندین سیستم دستور اجرا کنه.
3. ایجاد یک ساختار Logging مناسب، هم توی خروجی و هم توی یک فایل.
به ترتیب پیش خواهم رفت.

https://t.me/PythonSocketChat
Topic = Automation
1
دوستان سلام
تعدادی مطلب بود که از مدت‌ها پیش در برنامه داشتم:
*مطلبی در خصوص subprocess
*مجموعه مطالب regex
احتمالا امروز فرصت داشته باشم که این چند مطلب را کامل کرده و ارسال کنم.
یک شنبه نیز، شماره جدیدی از مطالب PE Parser منتشر خواهد شد.
#پست_موقت
👍3
Python Socket - Subprocess.pdf
1.8 MB
دوستان سلام
یکی از کاربردی‌ترین ماژول‌های پایتون (به نظر بنده البته) subprocess است. با استفاده از این ماژول می‌توانید Processهای دیگر را در درون کد پایتون خود ایجاد کرده و استفاده کنین. Process در اینجا معادل با یک برنامه است. یعنی می‌توانید در کد پایتون خود، برنامه‌های دیگر را اجرا کنید، بعنوان نمونه از Ping استفاده کنید یا هر دستوری که در سیستم عامل وجود دارد.
حتی می‌توانید سایر برنامه‌ها را باز کنید، مثلا notepad.exe را باز کنید و بسیاری دیگر.

در مستند پیوست این ماژول را بررسی کرده و متد run از آن را شرح داده‌ایم. علاوه بر run، متد Popen نیز وجود دارد که پیشنهاد می‌کنم خودتان مطالعه کنید.

با این شرح، مستند پیوست را با عنوان " Subprocess و اجرای برنامه‌های جانبی در پایتون" مطالعه بفرمائید.
@pythonsocket
2