-
ผมอยากเขียนโปรแกรมที่มีหน้าที่ในการ รับ packet จากเครื่องuserที่ส่งมา จาก port ที่ตั้งไว้
แล้วส่งต่อไปให้อีกเครื่องนึงที่ผมได้เซ็ทไว้
โดยผมสามารถกำหนด username/password ของ user ได้
ไม่ทราบว่าความสามารถแค่นี้ต้องใช้ภาษาอะไรเขียนหรอครับ
แล้วใครพอมี หลักการ/source code/คำแนะนำ บอกผมมั่งนะครับ
พอดีอยากลองเขียนเอง
ลืมบอกไปครับ ผมเขียน C/C++/Java/PHP ได้อย่างคล่องและภาษาอื่นๆได้นิดหน่อยครับ
^^
-
ไม่รู้ว่าผมเข้าใจถูกรึเปล่านะ ลองดูที่นี่ดู
http://www.codeproject.com/KB/IP/PortForward.aspx
แต่ภาษาที่แนะนำจริงๆ คงจะเป็น java จะดีกว่า (กรณีที่ ไม่ได้เขียน win32 c++ คล่อง)
-
ขอบคุณครับ
แต่ผมอยากไดที่สามารถกำหนด username/pass ของ user ได้อะครับ
แล้วที่สำคัญคือเครื่องที่ผมจะส่งไปก็ user/pass ด้วยครับ
ดังนั้นโปรแกรมขอผมต้องส่ง user/pass เพื่อให้อีกเครื่องยอมรับด้วยครับ
ขอยคุณนะครับ
-
แง่ว..
ไม่มีใครทราบเลยหรอครับ
เอาเป็นภาษาอื่นก็ได้ครับ อย่าง python/perl
หลักการมันคล้ายๆกับ proxy อะครับแต่อันนี้มันแค่เป็นตัวกลางในการเชื่อมต่อเฉยๆ
ไม่มีเก็บแคชไว้อะครับ
T-T
-
ฟังดูจาก requirement แล้วค่อนข้างงง ว่าต้องการทำอะไร
ทำไมถึงต้องเขียนเอง หากต้องการทำ proxy โปรแกรม squid บน web server ไม่สามารถ config ให้ใช้ได้หรือ?
ต้องการบรรลุเป้าหมายอะไร? ทำไปทำไม ? ช่วยเล่า background ให้ทราบหน่อย เผื่อบางที่สิ่งที่คุณอยากทำมันมี โปรแกรมที่พัฒนาไว้อยู่แล้ว
อธิบายไม่ละเอียดก็ไม่สามารถค้นหาข้อมูลหรือคำตอบให้ได้
-
คือต่อจากกระทู้ที่แล้วอะครับ(เว็บผมโดยแฮกระบบทดลอง)
ซึ่งผมใช้ 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 อื่นอย่างอิสระ)
ประมาณนี้อะครับโปรแกรมที่ผมคิดเอาไว้
เข้าใจรึยังครับว่าทำไมผมถึงอยากเขียนเอง
เพราะผมอยากคอลโทลได้ตามใจนึกอะครับ
ขอบคุณมากๆครับ
-
แล้ว service ที่จะเปิดให้ทำงานที่ port นั้นจะเป็น protocol อะไรครับ FTP, HTTP, SSH? หรือเป็นการส่ง หรือรับข้อมูลประเภทใด
-
ตอนที่ใช้ squid ในการควบคุมรู้สึกจะรับ packet มาในแบบ HTTPS นะครับ
เพราะเครื่อง user จะส่งมาแบบ HTTPS จากโปรแกรม Proxifier ตามรูปเลยครับ และสามารรถส่ง password มาได้เลยด้วย
http://pic.citec.us/out.php/i13725_test.gif
ส่วนโปรแกรมที่ผมจะเขียนก็ต้องรับแบบ HTTPS เพื่อที่จะรับ packet ของ user ได้อะครับ
และก็ต้องส่งแบบ HTTPS ด้วยครับเพราะเครื่อง ก.-ข.-ค. ของผมนั้นใช้ squid ในการรับข้อมูลครับ
แต่จริงๆผมก็ไม่ค่อยมีความรู้มากนักอะครับ
วานผู้ที่พอมีความรู้แนะนำด้วยก็ดีครับ
ขอบคุณครับ^^
ลืมบอกไปครับ packet ที่ส่งแต่ละครั้งนั้นเล็กมากๆครับ
อยู่ที่ประมาณ 50-120 byte ครับ
และการส่งก็เป็นแบบครั้งเดียวจบครับ
-
พอดีผมไม่เคยใช้ squid อ่ะนะ เลยไม่รู้ว่า squid ทำแบบที่ท่าน jaynarol ต้องการได้รึเปล่า
แต่ถ้าทำไม่ได้ ผมว่าน่าจะลง squid เป็น 3 ตัวไปเลย แล้วแยกไฟล์ config กัน
ให้แต่ละตัวรับ packet ของแต่ละ port (เหมือนกับว่ามี squid 3 ตัว bind ไว้ 3 port)
หรือถ้าอยากเขียนเองก็ลองไปหา source code พวก proxy มาแกะ แล้วแก้ให้เป็นตามที่ต้องการครับ
-
อะครับ หนึ่งในวิธีที่ผมเคยคิดก็คือลง squid 3 ตัว แต่ปัญหาคือผมลงไม่ได้อะครับเป็นเพราะไม่เป็นเองรึป่าวไม่รู้
พอผมลงแล้วทำการ start service มันก็จะ error แจ้งว่ามี service ตัวนี้ทำงานอยู่แล้วอะครับ
ซึ่งผมคิดอยู่แล้วว่ามันน่าจะลงได้แค่เปลี่ยนชื่อ service ใหม่
จึงรบกวนท่านที่มีความรู้เอาไฟล์ที่ผมใช้ติดตั้งไปดูทีครับ code ที่ติดตั้งเป็น bat ผมจึงคิดว่าน่าจะแกะไม่ยาก
จุดประสงค์คือให้ทำงานแยกกันคนละ service อะครับจะได้ลง 3 squid ได้
http://file.citec.us/download.php?id=566D736C