Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: ขอปรึกษาการเรื่องเขียนโปรแกรมของผมหน่อยครับ

  1. #1
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    Post

    ผมอยากเขียนโปรแกรมที่มีหน้าที่ในการ รับ packet จากเครื่องuserที่ส่งมา จาก port ที่ตั้งไว้

    แล้วส่งต่อไปให้อีกเครื่องนึงที่ผมได้เซ็ทไว้

    โดยผมสามารถกำหนด username/password ของ user ได้

    ไม่ทราบว่าความสามารถแค่นี้ต้องใช้ภาษาอะไรเขียนหรอครับ

    แล้วใครพอมี หลักการ/source code/คำแนะนำ บอกผมมั่งนะครับ

    พอดีอยากลองเขียนเอง

    ลืมบอกไปครับ ผมเขียน C/C++/Java/PHP ได้อย่างคล่องและภาษาอื่นๆได้นิดหน่อยครับ

    ^^

  2. #2


    ไม่รู้ว่าผมเข้าใจถูกรึเปล่านะ ลองดูที่นี่ดู
    http://www.codeproject.com/KB/IP/PortForward.aspx

    แต่ภาษาที่แนะนำจริงๆ คงจะเป็น java จะดีกว่า (กรณีที่ ไม่ได้เขียน win32 c++ คล่อง)

  3. #3
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    ขอบคุณครับ

    แต่ผมอยากไดที่สามารถกำหนด username/pass ของ user ได้อะครับ

    แล้วที่สำคัญคือเครื่องที่ผมจะส่งไปก็ user/pass ด้วยครับ

    ดังนั้นโปรแกรมขอผมต้องส่ง user/pass เพื่อให้อีกเครื่องยอมรับด้วยครับ

    ขอยคุณนะครับ

  4. #4
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    แง่ว..

    ไม่มีใครทราบเลยหรอครับ

    เอาเป็นภาษาอื่นก็ได้ครับ อย่าง python/perl

    หลักการมันคล้ายๆกับ proxy อะครับแต่อันนี้มันแค่เป็นตัวกลางในการเชื่อมต่อเฉยๆ

    ไม่มีเก็บแคชไว้อะครับ

    T-T

  5. #5
    Administrator asylu3's Avatar
    Join Date
    Jun 2000
    Location
    Thailand
    Posts
    3,557


    ฟังดูจาก requirement แล้วค่อนข้างงง ว่าต้องการทำอะไร
    ทำไมถึงต้องเขียนเอง หากต้องการทำ proxy โปรแกรม squid บน web server ไม่สามารถ config ให้ใช้ได้หรือ?
    ต้องการบรรลุเป้าหมายอะไร? ทำไปทำไม ? ช่วยเล่า background ให้ทราบหน่อย เผื่อบางที่สิ่งที่คุณอยากทำมันมี โปรแกรมที่พัฒนาไว้อยู่แล้ว
    อธิบายไม่ละเอียดก็ไม่สามารถค้นหาข้อมูลหรือคำตอบให้ได้

  6. #6
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    Post

    คือต่อจากกระทู้ที่แล้วอะครับ(เว็บผมโดยแฮกระบบทดลอง)

    ซึ่งผมใช้ Windows ทำให้ความสามารถ squid มันไม่เต็ม 100 % อะครับ

    ผมจึงลองอยากเขียนขึ้นมาเองดูเพราะเท่าที่ดูมันก็ไม่น่าจะยากมากนัก
    ติดแค่ผมไม่เคยเขียนโปรแกรมแนวนี้เลยทำให้เริ่มไม่ถูกอะครับ

    โปรแกรมที่ผมคิดไว้คือ

    มีหน้าที่ในการรับ packet จากเครื่อง user แล้วส่งต่อให้อีกเครื่องนึง(เครื่องนี้เป็นเครื่องกลาง)
    สามารถตรวจเช็ค user/pass ของ user ที่เข้ามาได้
    สามารถรองรับได้หลาย port และสามารถส่งต่อไปได้หลายเครื่อง เช่น
    - user A ส่งแพคเก็ตมาหาเครื่องผมโดยใช้ port 9999 เครื่องผมก็จะส่งตอไปยังเครื่อง ก.
    - user B ส่งแพคเก็ตมาหาเครื่องผมโดยใช้ port 9900 เครื่องผมก็จะส่งตอไปยังเครื่อง ข.
    - user C ส่งแพคเก็ตมาหาเครื่องผมโดยใช้ port 9600 เครื่องผมก็จะส่งตอไปยังเครื่อง ค.
    โดยใช้ port เป็นตัวแปรเพื่อควบคุมการส่งต่อไปยังเครื่องอื่นๆอะครับ

    อันนี้เป็นหน้าที่หลักๆนะครับส่วนอื่นๆผมก็อยากให้
    - สามารถ ตั้งเวลาหมดอายุของ username ได้
    - จำกัดแบนวิทของ user ได้(แยกกันจากuser อื่นอย่างอิสระ)
    - จำกัดจำนวนที่เชื่อต่อของ user ได้(แยกกันจากuser อื่นอย่างอิสระ)

    ประมาณนี้อะครับโปรแกรมที่ผมคิดเอาไว้
    เข้าใจรึยังครับว่าทำไมผมถึงอยากเขียนเอง

    เพราะผมอยากคอลโทลได้ตามใจนึกอะครับ

    ขอบคุณมากๆครับ

  7. #7
    Administrator asylu3's Avatar
    Join Date
    Jun 2000
    Location
    Thailand
    Posts
    3,557


    แล้ว service ที่จะเปิดให้ทำงานที่ port นั้นจะเป็น protocol อะไรครับ FTP, HTTP, SSH? หรือเป็นการส่ง หรือรับข้อมูลประเภทใด

  8. #8
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    ตอนที่ใช้ squid ในการควบคุมรู้สึกจะรับ packet มาในแบบ HTTPS นะครับ
    เพราะเครื่อง user จะส่งมาแบบ HTTPS จากโปรแกรม Proxifier ตามรูปเลยครับ และสามารรถส่ง password มาได้เลยด้วย





    ส่วนโปรแกรมที่ผมจะเขียนก็ต้องรับแบบ HTTPS เพื่อที่จะรับ packet ของ user ได้อะครับ
    และก็ต้องส่งแบบ HTTPS ด้วยครับเพราะเครื่อง ก.-ข.-ค. ของผมนั้นใช้ squid ในการรับข้อมูลครับ

    แต่จริงๆผมก็ไม่ค่อยมีความรู้มากนักอะครับ

    วานผู้ที่พอมีความรู้แนะนำด้วยก็ดีครับ

    ขอบคุณครับ^^

    ลืมบอกไปครับ packet ที่ส่งแต่ละครั้งนั้นเล็กมากๆครับ

    อยู่ที่ประมาณ 50-120 byte ครับ

    และการส่งก็เป็นแบบครั้งเดียวจบครับ

  9. #9
    Jedi Global Moderator Gen0TypE's Avatar
    Join Date
    Jan 2008
    Location
    Khonkaen
    Posts
    312


    พอดีผมไม่เคยใช้ squid อ่ะนะ เลยไม่รู้ว่า squid ทำแบบที่ท่าน jaynarol ต้องการได้รึเปล่า
    แต่ถ้าทำไม่ได้ ผมว่าน่าจะลง squid เป็น 3 ตัวไปเลย แล้วแยกไฟล์ config กัน
    ให้แต่ละตัวรับ packet ของแต่ละ port (เหมือนกับว่ามี squid 3 ตัว bind ไว้ 3 port)

    หรือถ้าอยากเขียนเองก็ลองไปหา source code พวก proxy มาแกะ แล้วแก้ให้เป็นตามที่ต้องการครับ

  10. #10
    Junior Member jaynarol's Avatar
    Join Date
    Oct 2007
    Location
    Thailand
    Posts
    14


    อะครับ หนึ่งในวิธีที่ผมเคยคิดก็คือลง squid 3 ตัว แต่ปัญหาคือผมลงไม่ได้อะครับเป็นเพราะไม่เป็นเองรึป่าวไม่รู้

    พอผมลงแล้วทำการ start service มันก็จะ error แจ้งว่ามี service ตัวนี้ทำงานอยู่แล้วอะครับ

    ซึ่งผมคิดอยู่แล้วว่ามันน่าจะลงได้แค่เปลี่ยนชื่อ service ใหม่

    จึงรบกวนท่านที่มีความรู้เอาไฟล์ที่ผมใช้ติดตั้งไปดูทีครับ code ที่ติดตั้งเป็น bat ผมจึงคิดว่าน่าจะแกะไม่ยาก

    จุดประสงค์คือให้ทำงานแยกกันคนละ service อะครับจะได้ลง 3 squid ได้


    http://file.citec.us/download.php?id=566D736C

Page 1 of 2 12 LastLast

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •