PDA

View Full Version : باز کردن پورت



xxxsenatorxxx
شنبه 18 شهریور 1391, 11:39 صبح
با سلام

این پورتهایی که هکر ها باهاش کار میکنن مثلا پورت 21 و 23 و 445 و ..... همون پورت سریال یا کام هست یا نوع دیگه ای است؟؟؟

کدی میخوام که بشه باهاش پورت رو باز کزد یعنی وقتی برنامه رو اجرا میکنم مثلا پرت 23 کامپیوترم رو باز کنه .

ممنون

mehdy.programmer
شنبه 18 شهریور 1391, 13:00 عصر
دوست عزیز ! پورت COM یه چیز دیگه است ! من نمیدونم که تحت .NET بشه اینکارو کرد یا نه ولی می تونی با استفاده از CMD اینکارو بکنی(یعنی تو برنامه از CMD استفاده کنی!)

xxxsenatorxxx
شنبه 18 شهریور 1391, 19:31 عصر
دوست عزیز ! پورت COM یه چیز دیگه است ! من نمیدونم که تحت .NET بشه اینکارو کرد یا نه ولی می تونی با استفاده از CMD اینکارو بکنی(یعنی تو برنامه از CMD استفاده کنی!)

ممنون میشه یه توضیح مختصر در مورد پورت سریال و کام و .... بدین.
من فرمان cmd رو میدونم با کد سی شارپ رو میخوام.

mehdy.programmer
یک شنبه 19 شهریور 1391, 01:16 صبح
پورت کام یه پورت فیزیکی هستش که برای ارتباط کامپیوتر با پرینتر ،موس و کیبرد و قطعات الکترونیکی و کلا با ماژول هایی خارج از کامپیوتر(که به درد کاره شما نمیخوره) شما با پورت های TCP و UDP کار دارین که کلی اطلاعات راجع بهشون تو وب هست! برای CMD هم باید یه پروسس CMD باز کنی بعد کد هاتو اجرا کنی همین!

موفق باشی

ali_habibi1384
یک شنبه 19 شهریور 1391, 06:46 صبح
تفاوت پورت سريال و كام (http://www.parsiland.com/39029-%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%BE%D9%88%D8%B1%D8%AA-%D8%B3%D8%B1%DB%8C%D8%A7%D9%84-%D9%88-%DA%A9%D8%A7%D9%85-serial-vs-com/)

xxxsenatorxxx
یک شنبه 19 شهریور 1391, 13:42 عصر
در مورد باز کزدن پورت tcp و udp چطور؟

mehdy.programmer
یک شنبه 19 شهریور 1391, 16:39 عصر
باز هم CMD و netsh : برای مثال 21:

netsh -c firewall set portopening tcp 21

xxxsenatorxxx
یک شنبه 19 شهریور 1391, 17:22 عصر
باز هم CMD و netsh : برای مثال 21:

netsh -c firewall set portopening tcp 21

یعنی اصلا با کد سی شارپ نمیشه اینکارو کرد.بدون cmd و مشتقاتش ؟؟؟؟؟؟؟؟؟؟؟؟؟

mehdy.programmer
دوشنبه 20 شهریور 1391, 01:41 صبح
دوست عزیز یه چیز می گم از امیدوارم نارحت نشی !
به نظر من شما C# و .NET رو اشتباه متوجه شدید!
ببینید وقتی میگید با C# منظورتون اینه که یه کلاس رو فراخوانی بکنید که این کار رو براتون انجام بده(غیر از اینه؟؟)
خوب حالا شما فرض کن به جای اینکه کلاس توی .NET باشه شما کلاس رو بنویسد (که تو کلاس همین CMD رو استفاده می کنید!)
البته شاید تو کلاس های .NET از روش CMD استفاده نشده باشه ولی مطمئنن از روش سخت تری استفاده شده!
امیدوارم منظورم متوجه شده باشید!
من خودم چند سال در گیر این درک اشتباه از برنامه نویسیه تحت .NET بودم!

xxxsenatorxxx
دوشنبه 20 شهریور 1391, 09:29 صبح
دوست عزیز یه چیز می گم از امیدوارم نارحت نشی !
به نظر من شما C#‎‎‎‎ و .NET رو اشتباه متوجه شدید!
ببینید وقتی میگید با C#‎‎‎‎ منظورتون اینه که یه کلاس رو فراخوانی بکنید که این کار رو براتون انجام بده(غیر از اینه؟؟)
خوب حالا شما فرض کن به جای اینکه کلاس توی .NET باشه شما کلاس رو بنویسد (که تو کلاس همین CMD رو استفاده می کنید!)
البته شاید تو کلاس های .NET از روش CMD استفاده نشده باشه ولی مطمئنن از روش سخت تری استفاده شده!
امیدوارم منظورم متوجه شده باشید!
من خودم چند سال در گیر این درک اشتباه از برنامه نویسیه تحت .NET بودم!

منظورم رو بد بیان کردم.منظورم از سی شارپ یعنی با استفاده از کلاس های خود دات نت.امکانش هست؟
اگر کدی یا مرجع بدید ممنون میشم

mehdy.programmer
دوشنبه 20 شهریور 1391, 16:29 عصر
ببخشید، اگه نارحت شدی ! من که چنین کلاسی ندیدم تا حالا! تو MSDN بگرد شاید چیزی دست گیرت شد!

ولی بازم می گم قرار نیست هر کلاسی که می خوایم تو .NET باشه !

xxxsenatorxxx
دوشنبه 20 شهریور 1391, 19:08 عصر
ببخشید، اگه نارحت شدی ! من که چنین کلاسی ندیدم تا حالا! تو MSDN بگرد شاید چیزی دست گیرت شد!

ولی بازم می گم قرار نیست هر کلاسی که می خوایم تو .NET باشه !

نه خواهش میکنم.منم این تاپیکو زدم ببینم کسی بلده یا تجربه کارکرد با اون رو داشته.

mohammad bayervand
چهارشنبه 22 شهریور 1391, 04:04 صبح
یعنی در c# همونطوری که با پورت usb کار میشه نمیتوان با پورت های سریال و کام هم کار کرد
همچین یه جورایی گیج شدم ها ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

mehdy.programmer
پنج شنبه 23 شهریور 1391, 00:22 صبح
یعنی در c# همونطوری که با پورت usb کار میشه نمیتوان با پورت های سریال و کام هم کار کرد
همچین یه جورایی گیج شدم ها ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

کی گفته نمیشه عزیز من!!!!!

اولا بحث روی پورت های TCP و UDP بود نه پورت سریال و COM !!!! دوما کی گفت نیشمه ! من گفتم اطلاعاتی ندارم(راجب به کلاسی تو .NET که بشه این کارارو باهاش کرد!)

cnmeysam
چهارشنبه 04 شهریور 1394, 16:21 عصر
سلام میدونم تاپیک قدیمیه ولی واقعا کسی نیست بلد باشه که با چه دستوری میشه مثلا پورت 1433 که پورت SQL SERVER هست رو باز کرد؟ منظورم تو C#‎‎ هستش نه با دستور تو داس دستور داسش رو دارم
الان این شده

netsh advfirewall firewall add rule name="Open Port 1433" dir=in action=allow protocol=TCP localport=1433netsh firewall add portopening TCP 1433 "Open Port 1433

قدیما این بود

netsh advfirewall firewall add rule name="Open Port 1433" dir=in action=allow protocol=TCP localport=1433

TeacherMath
چهارشنبه 04 شهریور 1394, 19:25 عصر
https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
https://msdn.microsoft.com/en-us/library/dz10xcwh(v=vs.110).aspx
http://stackoverflow.com/questions/627031/listen-for-data-on-tcp-port-c-sharp

cnmeysam
پنج شنبه 05 شهریور 1394, 13:17 عصر
https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
https://msdn.microsoft.com/en-us/library/dz10xcwh(v=vs.110).aspx
http://stackoverflow.com/questions/627031/listen-for-data-on-tcp-port-c-sharp

سلام شما خودت این لینک ها که گذاشتی رو نگاه کردی؟
یعنی کسی واقعا نمیدونه چطوری میشه یک پورت رو تو فایروال باز کرد یک پورت مثل اس کیو ال؟؟؟؟؟

محمد رضا فاتحی
پنج شنبه 05 شهریور 1394, 14:04 عصر
بفرما دوست عزیز

public static bool AddPort(string title, int portNumber)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentNullException("title");
}




// Get the type based on program ID
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;


port.Name = title;
port.Port = portNumber;


try
{
GetCurrentProfile().GloballyOpenPorts.Add(port);
}
catch (Exception)
{
return false;
}




return true;
}


فقط رفرنس مربوط به firewall رو باید اضافه کنی... فکر کنم توی تب com باشه

mandanim
پنج شنبه 05 شهریور 1394, 14:18 عصر
چرا عزیزم
این کار رو براحتی میشه انجام داد

System.Diagnostics.Process.Start("cmd.exe", "/k cmd_command");

هر کاری دوست داشته باشی به راحتی می تونی انجام بدی
این کارهای که شما میگی کار اصلا پیچیده ای نیست
به طرز فکرت بستگی داره که چه کاری میخوای انجام بدی و چه ابزاری
میشه عزیزم
جستجوتو قویتر کن
در آخر
هک کار زشتیه
تسبیحم کو

cnmeysam
پنج شنبه 05 شهریور 1394, 18:31 عصر
چرا عزیزم
این کار رو براحتی میشه انجام داد

System.Diagnostics.Process.Start("cmd.exe", "/k cmd_command");

هر کاری دوست داشته باشی به راحتی می تونی انجام بدی
این کارهای که شما میگی کار اصلا پیچیده ای نیست
به طرز فکرت بستگی داره که چه کاری میخوای انجام بدی و چه ابزاری
میشه عزیزم
جستجوتو قویتر کن
در آخر
هک کار زشتیه
تسبیحم کو
سلام و ممنون از راهنماییتون موضوع هک نیست یه برنامه تحت اس کیو ال سرور نوشتم میخواستم پورت اس کیو ال رو تو سرور باز کنم که کلاینت ها بتونن کانکنت شن بدون اینکه مجبور باشم پورت رو با دستور باز کنم یا دستی همین به خدا اصلا موضوع هک نیست

cnmeysam
پنج شنبه 05 شهریور 1394, 18:43 عصر
بفرما دوست عزیز

public static bool AddPort(string title, int portNumber)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentNullException("title");
}




// Get the type based on program ID
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;


port.Name = title;
port.Port = portNumber;


try
{
GetCurrentProfile().GloballyOpenPorts.Add(port);
}
catch (Exception)
{
return false;
}




return true;
}


فقط رفرنس مربوط به firewall رو باید اضافه کنی... فکر کنم توی تب com باشه

سلام و ممنون از وقتی که گذاشتین مشکل منم دقیقا رفرنسشه اسمش نمیدونم چیه که اضافه کنم



public bool AddPort(string title, int portNumber)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentNullException("title");
}
// Get the type based on program ID
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
port.Name = TxtPortName.Text;
port.Port = Int32.Parse(TxtPort.Text);
try
{
GetCurrentProfile().GloballyOpenPorts.Add(port);
}
catch (Exception)
{
return false;
}

return true;
}



رفرنسInterop.NetFwTypeLib
using NetFwTypeLib;
ولی 2تا آبجکت شناسایی نمیشن
ProgramIDOpenPort
GetCurrentProfile

cnmeysam
جمعه 06 شهریور 1394, 02:53 صبح
کسی میدونه چرا از کد من ایراد میگیره ؟

INetFwOpenPorts ports;
INetFwOpenPort port;
port.Port = Int32.Parse(TxtPort.Text); /* port no */
port.Name = TxtPortName.Text; /*name of the application using the port */
port.Enabled = true; /* enable the port */
/*other properties like Protocol, IP Version can also be set accordingly
now add this to the GloballyOpenPorts collection */
Type NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
ports = (INetFwOpenPorts)mgr.LocalPolicy.CurrentProfile.Gl oballyOpenPorts;
ports.Add(port);


ارور زیر رو میده:

Use of unassigned local variable 'port'

محمد رضا فاتحی
جمعه 06 شهریور 1394, 08:00 صبح
چون متغیر پورت مقدار دهی نشده...
به جای INetFwOpenPort port; اینو بنویس INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;

cnmeysam
جمعه 06 شهریور 1394, 15:28 عصر
چون متغیر پورت مقدار دهی نشده...
به جای INetFwOpenPort port; اینو بنویس INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
سلام شرمنده من یکم ناشی هستم الان هم از type ایراد میگیره

The name 'type' does not exist in the current context
راستی بهترین رفرنسی که پیدا کردم این سایته ولی همچنان مشکل باقیه اگه میشه راهنماییم کنید ممنون میشم
http://blogs.msdn.com/b/securitytools/archive/2009/08/21/automating-windows-firewall-settings-with-c.aspx

محمد رضا فاتحی
شنبه 07 شهریور 1394, 07:50 صبح
چرا از تابعی که براتون فرستادم استفاده نمی کنید؟؟

public bool AddPort(string title, int portNumber)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentNullException("title");
}
// Get the type based on program ID
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
port.Name = TxtPortName.Text;
port.Port = Int32.Parse(TxtPort.Text);
try
{
GetCurrentProfile().GloballyOpenPorts.Add(port);
}
catch (Exception)
{
return false;
}

return true;
}

cnmeysam
شنبه 07 شهریور 1394, 12:08 عصر
چرا از تابعی که براتون فرستادم استفاده نمی کنید؟؟

public bool AddPort(string title, int portNumber)
{
if (string.IsNullOrEmpty(title))
{
throw new ArgumentNullException("title");
}
// Get the type based on program ID
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
port.Name = TxtPortName.Text;
port.Port = Int32.Parse(TxtPort.Text);
try
{
GetCurrentProfile().GloballyOpenPorts.Add(port);
}
catch (Exception)
{
return false;
}

return true;
}

سلام
اگه پست های بالا رو نگاه کنید متوجه میشید که با این تابع هم به مشکل بر خوردم
ProgramIDOpenPort
GetCurrentProfile
رو نمیشناسه
The name 'GetCurrentProfile' does not exist in the current context
The name 'ProgramIDOpenPort' does not exist in the current context
این پروژه ایه که دارم روش کار میکنم خودتون ببینید شاید مشکل از پروژه من باشه
http://cnmeysam.persiangig.com/C sharp/SQLConnection.zip/download

محمد رضا فاتحی
شنبه 07 شهریور 1394, 12:22 عصر
شرمنده اینو یادم رفته بود برات بفرستم!!

private static INetFwProfile GetCurrentProfile()
{
INetFwProfile profile;
try
{
profile = GetFirewallManager().LocalPolicy.CurrentProfile;
}
catch (System.Runtime.InteropServices.COMException e)
{
throw new NotSupportedException("Could not get the current profile (COMException)", e);
}
catch (System.Runtime.InteropServices.InvalidComObjectEx ception e)
{
throw new NotSupportedException("Could not get the current profile (InvalidComObjectException)", e);
}


return profile;
}

cnmeysam
شنبه 07 شهریور 1394, 17:49 عصر
شرمنده اینو یادم رفته بود برات بفرستم!!

private static INetFwProfile GetCurrentProfile()
{
INetFwProfile profile;
try
{
profile = GetFirewallManager().LocalPolicy.CurrentProfile;
}
catch (System.Runtime.InteropServices.COMException e)
{
throw new NotSupportedException("Could not get the current profile (COMException)", e);
}
catch (System.Runtime.InteropServices.InvalidComObjectEx ception e)
{
throw new NotSupportedException("Could not get the current profile (InvalidComObjectException)", e);
}


return profile;
}

سلام مهندس جان شرمنده ولی یک بار خودت تست کن باز هم ارور داد تازه ارورها بیشترم شد میشه تو پروژه ای که فرستادم بذاری ببینی مشکل کجاست؟ دیگه عصبیم کرده این موضوع ممنون از لطفت

محمد رضا فاتحی
شنبه 07 شهریور 1394, 17:52 عصر
کلمه استاتیک رو بردار ببین درست نمی شه؟؟

cnmeysam
شنبه 07 شهریور 1394, 19:19 عصر
کلمه استاتیک رو بردار ببین درست نمی شه؟؟
نه فرقی نکرد فکر کنم یکی از سربرگا یعنی using ها کم باشه
GetFirewallManager
InvalidComObjectEx ception e
ارور میدن
میشه تو برنامه که گذاشتم بذارید تست کنید؟

محمد رضا فاتحی
یک شنبه 08 شهریور 1394, 07:13 صبح
بفرمایید
http://s3.picofile.com/file/8209188826/SQLConnection.rar.html

cnmeysam
یک شنبه 08 شهریور 1394, 11:35 صبح
ممنون ولی باز هم کار نمیکنه مثلا وقتی میزنم 8080 باید این پورت باز شه ولی هیچ اتفاقی نمیوفته حتی برنامه هم میگه این پورت بسته است و تو فایروال هم اضافه نمیشه:افسرده:

محمد رضا فاتحی
یک شنبه 08 شهریور 1394, 11:43 صبح
پورت بسته است رو به من خطا داد ولی به فایر وال اضافه می کنه
134746

اینم بعد از اجرا
134747

cnmeysam
یک شنبه 08 شهریور 1394, 11:49 صبح
کد های خودمم رو هم با کمک کدهای شما درست کردم ولی باز هم جواب نگرفتم یعنی هیچ راهی نیست؟:ناراحت:






private const string ProgramIDOpenPort = "HNetCfg.FWOpenPort";
private void BtnPort_Click(object sender, EventArgs e)
{


//روش دوم
Type type = Type.GetTypeFromProgID(ProgramIDOpenPort);
INetFwOpenPorts ports;
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;


port.Port = Int32.Parse(TxtPort.Text); /* port no */
port.Name = TxtPortName.Text; /*name of the application using the port */
port.Enabled = true; /* enable the port */
/*other properties like Protocol, IP Version can also be set accordingly
now add this to the GloballyOpenPorts collection */
Type NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
ports = (INetFwOpenPorts)mgr.LocalPolicy.CurrentProfile.Gl oballyOpenPorts;
ports.Add(port);


}

cnmeysam
یک شنبه 08 شهریور 1394, 12:00 عصر
امکانش هست از ویندوز باشه؟
آخه ویندوز من 10 هستش:لبخندساده:

محمد رضا فاتحی
یک شنبه 08 شهریور 1394, 12:05 عصر
امکانش هست از ویندوز باشه؟
آخه ویندوز من 10 هستش:لبخندساده:
نمی دونم...ممکنه...

cnmeysam
یک شنبه 08 شهریور 1394, 12:53 عصر
نمی دونم...ممکنه...

سلام رو ویندوز 7 ویستا و ایکس پی جواب داد ولی رو ویندوز 10 لب تاپ جواب نداد حالا یا مشکل از 10 هست یا ویندوزی که رو لب تاپه:لبخند: