반응형

방화벽상태확인
firewall-cmd --list-all

포트허용 추가 sample
# firewall-cmd --permanent --zone=public --add-port=8140/tcp
# firewall-cmd --reload


포트허용 제거 sample
# firewall-cmd --permanent --zone=public --remove-port=8140/tcp
# firewall-cmd --reload


포트 포워딩 sample
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
# firewall-cmd --reload


[CentOS] 7으로 버전업되면서 달라진 것 Admin
출처: https://www.certdepot.net/rhel7-rc-local-service/

1. 기본설정상태에서 rc.local이 자동 실행되지 않는다.
-- 해결법
# chmod u+x /etc/rc.d/rc.local
# systemctl start rc-local


2. 'ifconfig'가 없다T_T
--해결법(설치해도 되지만...)
'ip addr'로 대체

3. 'netstat'이 없다T_T
--해결법(설치해도 되지만...)
'ss'로 대체


firewalld 각종 명령어 Admin
출처: 
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

* 설정하고 나면 리로드해야 변경된 상태를 확인할 수 있다.
firewall-cmd --reload

* firewalld 데몬 시작하기
systemctl start firewalld.service

* firewalld 실행여부 확인하기
firewall-cmd --state

* 디펄트 존 확인하기
firewall-cmd --get-default-zone

* 활성화된 존과 연결된 인터페이스 확인하기
firewall-cmd --get-active-zones

* 디펄트 존의 환경설정 보기 
firewall-cmd --list-all

* 사용가능한 존 목록 확인하기
firewall-cmd --get-zones

* home존의 환경설정 보기
firewall-cmd --zone=home --list-all

* 인터페이스의 존을 변경하기
firewall-cmd --zone=home --change-interface=eth0
or "/etc/sysconfig/network-scripts/"에 있는 ifcfg-eth0와 같은  파일에 ZONE=home과 같이 설정을 추가하면 해당 존으로 인터페이스가 잡힌다.

* 디펄트 존 변경하기
firewall-cmd --set-default-zone=home

* 미리 정의된 서비스 포트 목록 확인하기(정의된 위치: /usr/lib/firewalld/services/) [해당 서비스정의 파일을 복사하여 내용수정하면 다른 정의 파일 생성가능]
firewall-cmd --get-services

* 사용자 존 생성하기
firewall-cmd --permanent --new-zone=publicweb

* 사용자 존 삭제하기
firewall-cmd --permanent --delete-zone=publicweb

***************************************************
Configuring IP Address Masquerading
***************************************************
* external존을 Masquerading 가능상태인지 확인하기
firewall-cmd --zone=external --query-masquerade

* external존을 Masquerading 가능상태로 만들기
firewall-cmd --zone=external --add-masquerade

* external존을 Masquerading 불가능상태로 만들기
firewall-cmd --zone=external --remove-masquerade

* 설정된 포워딩 포트(22)로 들어온 패킷을 특정 IP(192.0.2.55)의 같은 포트로 포워딩하기
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.0.2.55

* 설정된 포워딩 포트(22)로 들어온 패킷을 특정 IP(192.0.2.55)의 다른 포트(2055)로 포워딩하기
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.0.2.55



특정 IP만 접근가능하게 하기 Admin
[상단 글의 특정 존 확인 기능을 먼저 알아둘 것]

firewall-cmd는 zone별로 구분하여 정책설정을 할 수 있음을 기억할 것

internal존에 해당 IP를 추가하고 public존의 ssh 서비스는 제거해보는 예제

# firewall-cmd --zone=internal --add-service=ssh --permanent

# firewall-cmd --zone=internal --add-source=192.168.1.2/32 --permanent

# firewall-cmd --zone=public --remove-service=ssh --permanent

# firewall-cmd --reload

확인해보기
#firewall-cmd --get-active-zones
#firewall-cmd --info-zone=internal

반응형
반응형

살다보면


모든 환경에서 쓸일이 있다... -_-...




EchoServer.java 파일(1024 포트 사용 예)

 import java.io.* ;

import java.net.* ;

class EchoServer {

public static void main( String[] args )

 throws IOException {

// 포트 설정

int port = 1024 ;

// 서버 소켓 생성

ServerSocket ss = new ServerSocket(port) ;

System.out.println( "Server Ready" ) ;

// 클라이언트 연결을 계속해서 받는다.

while( true ) {

// 클라이언트 연결을 받는다.

Socket client = ss.accept() ;

// 네트워크 입출력 스트림 설정

BufferedReader net_in = 

new BufferedReader( new InputStreamReader( client.getInputStream() ) ) ;

PrintWriter net_out = 

new PrintWriter( new OutputStreamWriter( client.getOutputStream() ) ) ;

System.out.println( "Client Socket Accepted" + client ) ;

System.out.flush() ;

// 클라이언트의 데이터를 받는다.

String line ;

line = net_in.readLine() ;

// 받은 데이터를 다시 전송한다.

net_out.println( line ) ;

net_out.flush() ;

}

}

}





EchoClient.java 파일 내용


 import java.io.* ;

import java.net.* ;

class EchoClient {

public static void main( String[] args )

 throws IOException {

// 접속 대상 설정

String host = "127.0.0.1" ;

int port = 1024 ;

// 소켓을 생성

Socket s = new Socket( host , port ) ;

System.out.println( "Client Socket Created" + s ) ;

System.out.flush() ;

// 네트워크 통신을 위한 스트림 설정

Reader from_server = new InputStreamReader(s.getInputStream()) ;

PrintWriter to_server = 

new PrintWriter(new OutputStreamWriter(s.getOutputStream()) ) ;

// 콘솔 입출력을 위한 스트림 설정

BufferedReader from_user = 

new BufferedReader( new InputStreamReader( System.in ) ) ;

PrintWriter to_user = 

new PrintWriter( new OutputStreamWriter( System.out ) ) ;

// 사용자의 입력을 받는다.

String line ;

while( (line = from_user.readLine()) != null ) {

// 받은 입력은 네트워크로 전송한다.

to_server.println( line ) ;

to_server.flush() ;

// 네트워크에서 데이터를 받는다.

int char_cnt ;

char[] buffer = new char[1024] ;

char_cnt = from_server.read(buffer) ;

// 받은 데이터를 화면에 뿌린다.

to_user.write( buffer , 0 , char_cnt ) ;

to_user.flush() ;

}

}

}


특정 서버에 대한 포트 스캔 프로그램 (PortScanner.java)


 import java.net.*;

public class PortScanner {

public static void main(String args[]) {

int startPortRange=0;

int stopPortRange=0;

startPortRange = Integer.parseInt(args[0]);

stopPortRange = Integer.parseInt(args[1]);

for (int i=startPortRange; i <=stopPortRange; i++) {

try {

Socket ServerSok = new Socket("127.0.0.1",i);

System.out.println("Port in use: " + i );

ServerSok.close();

}

catch (Exception e) {

}

System.out.println("Port not in use: " + i );

}

}

}



반응형
반응형



윈도우 폴더 공유를 위한 방화벽 포트 허용



TCP : 137, 139, 445

UDP : 137, 138


반응형
반응형

하나의 포트로 여러 리스너 설정하기...


listener.ora


일부 서버들에서 되고 안되고 문제는 SID_LIST_LISTENER 설정에서 SID_DESC 설정 정보가 없을 때 발생함... (랜덤 -_-ㅋ)


 # listener.ora Network Configuration File: /oracle/product/10g/network/admin/listener.ora

# Generated by Oracle configuration tools.


SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /oracle/product/10g)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = SEVSEDEV)

      (ORACLE_HOME = /oracle/product/10g)

    )

    (SID_DESC =

      (SID_NAME = SEVPTDEV)

      (ORACLE_HOME = /oracle/product/10g)

    )

  )


LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.86)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

  )


SID_LIST_LISTENER_SEVPTDEV =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = SEVPTDEV)

      (ORACLE_HOME = /oracle/product/10g)

    )

  )


LISTENER_SEVPTDEV =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.86)(PORT = 1521))

    )

  )


SID_LIST_LISTENER_SEVSEDEV =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = SEVSEDEV)

      (ORACLE_HOME = /oracle/product/10g)

    )

  )


LISTENER_SEVSEDEV =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.86)(PORT = 1521))

    )

  )


 sqlnet.ora


# sqlnet.ora Network Configuration File: /oracle/product/10g/network/admin/sqlnet.ora

# Generated by Oracle configuration tools.

SQLNET.INBOUND_CONNECT_TIMEOUT=0 





반응형
반응형

portnumber 값을 10진수의 변경하고자 하는 포트로 변경 필요

1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp    PortNumber값을 10진수로 변경후 수정.

 

2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp    PortNumber값을 10진수로 변경후 수정.

수정후 시스템 리부팅.  

반응형
반응형

이클립스를 통해 개발하던중... 로컬 웹서비스를 가동하려고 하는데

어... 사용하는 포트가 있다고 뜨는것이다...

뭐지...도대체 감으로 찾아봐도.. 찾기 힘들었다.

그래서 인터넷 검색을 통해 찾던중 CurrPorts 란 프로그램을 찾게 되었다.

홈페이지 : http://www.nirsoft.net/utils/cports.html
다운로드 : http://www.nirsoft.net/utils/cports.zip


무설치 버젼으로 제공하였으며 실행한 화면은 다음과 같다.


여기서는 내컴퓨터의 사용 포트를 확인해야 하므로 Local Port 부분을 누르면(오름차순, 내림차순 정렬) 정렬된다.

정렬한뒤 Local Port의 80번을 사용하는 프로그램의 프로퍼티를 조회한다.


* 위에서 해당 프로세스를 죽일때에는 Kill Processes Of Selected Ports 부분을 클릭하면 되고... 신중히 실행해야 한다 !!!
잘못하면 치명적인 오류 및 시스템이 종료될 수 도 있다.

아래는 TeamViewer.exe(팀뷰어) 라는 프로세스가 TCP 프로토콜에 80번 포트(웹 포트)를 사용하여 수신응답 대기중임을 알수 있다.

즉, 내 컴퓨터에서 웹서비스를 사용하려고 할때 충돌 났던 이유는 원격 지원 프로그램(TEAMVIEWER)를 사용함으로써 발생 했었음을 알수 있다...


반응형
반응형

다운로드 주소 : http://www.foundstone.com/us/resources/proddesc/fport.htm



Pid Process Port Proto Path
392 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
8 System -> 139 TCP
8 System -> 445 TCP
508 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe
392 svchost -> 135 UDP C:\WINNT\system32\svchost.exe
8 System -> 137 UDP
8 System -> 138 UDP
8 System -> 445 UDP
224 lsass -> 500 UDP C:\WINNT\system32\lsass.exe
212 services -> 1026 UDP C:\WINNT\system32\services.exe

The program contains five (5) switches. The switches may be utilized using either a '/'
or a '-' preceding the switch. The switches are;

Usage:
/? usage help
/p sort by port
/a sort by application
/i sort by pid
/ap sort by application path

반응형

+ Recent posts