이제 volab.kr, vosotck.kr, vocoin.kr 이렇게.. 벌써 도메인만 세개가 되는 군요..

 

도메인이 끝나가는 시점에 아직 먼 얘기지만 그땐 도메인을 하나로 합칠까 합니다.

 

그래서 미리 구입한게 volab.kr 입니다. (도메인 구매도 은근 홈쇼핑 지름신 같은 느낌이...)

 

여기에 무엇을 채워 나갈까 고민 해봤는데.. 우선 vostock.kr 과 vocoin.kr 을 링크를 걸어두고,

여러가지 실험적인 것 들, 스터디의 목적도 있고 또는 취미를 삼아 이것 저것 작은 것이라도 조금씩 만들어 나갈 생각입니다. 

 

실험적인 걸루 snmp vendor find 라는 유틸리티성 페이지를 만들어봤습니다.

 

 

snmp 는 Simple Network Management Protocol 약자입니다.  회사에서 주 업무중의 하나가 NMS개발입니다. ^^;

 

이 페이지의 기능은 아주 간단합니다. 

snmp vendor 번호를 인풋창에 입력하면 그 결과를 보여줍니다.

 

이것만 하면 너무 심심 할꺼 같아,

현재 데이터베이스에 저장되어 있는 밴더 목록의 수와 현재까지 검색한 총 건수

그리고 각 밴더별 조회 횟수를 바차트로 표현 해보았습니다.

 

마지막으로 랜덤 사진과 함께 잠시동안의 힐링(?)을 하시길 바라는 마음으로 오디오 플레이를 추가  했습니다.

배경음악 제목은 Three Mexican Songs 입니다.

 

 

'까벨로퍼 > VoLab(2021~)' 카테고리의 다른 글

다시 [volab.kr] 소개.  (0) 2023.09.04
volab.kr - 추가기능 IPO 공모 현황  (0) 2021.06.30
  • 개요

 명령 줄에서 실행하는 일반적인 패킷 가로채기 소프트웨어이다. 사용자가 TCP/IP뿐 아니라, 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있게 도와 준다. BSD 허가서를 통해 배포되는[2] tcpdump는 자유 소프트웨어이다.

tcpdump는 리눅스, 솔라리스, BSD, 맥 OS X, HP-UX, AIX 따위의 대부분의 유닉스 계열 운영 체제에서 동작하며 여기서 libpcap 라이브러리를 사용하여 패킷을 포획한다. 윈도용 tcpdump 이식판으로는 WinDump가 있으며, 이는 libpcap의 윈도 이식판인 WinPcap을 이용한다.  - wiki 백과

 

<조건식(expression)>

옵션의 제일 마지막인 조건식은 어떤 패킷들을 출력할지를 선택하는데 쓰인다. 조건식이 주어지지 않는 다면 모든 패킷들이 그 대상이 될 것이다. 일단 주어지면, 아무리 패킷들이 많아도 조 건식에 부합하는 패킷만을 출력한다.

조건식들은 하나 또는 몇 개의 primitive들로 구성되어 있다. primitive들은 보통 하나 혹은 몇개의 qualifier들 다음에 오는 하나의 값으로 이루어진다. Qualifier들은 모두 3 종류이며 다음과 같다.

 

type : 주어진 값의 종류가 무엇인지를 나타낸다. 가능한 type들은 'host', 'net', 'port'가 있다. type이 없는 값들은 type을 host라 가정한다.

 

dir : id로 부터의 어떤 특정한 전송 방향을 나타낸다. 가능한 방향은 'src', 'dst', 'src or dst', 'src and dst'이다. 만약 방향이 정해지지 않았다면, src or dst라 가정한다. "For `null' link layers (i.e. point to point protocols such as slip) the inb ound and out bound qualifiers can be used to specify a desired direction."

 

proto : 매칭을 특정 프로토콜에 한해서 수행한다. 가능한 프로토콜들은 ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp, udp이다. 만약 프로토콜이 명시되지 않았다면, 해당하는 값의 type에 관련된 모든 프로토콜들이 그 대상이 된다.


  • 사용예

<옵션>
-c Number : 제시된 수의 패킷을 받은 후 종료한다.
-i device : 어느 인터페이스를 경유하는 패킷들을 잡을지 지정한다. 지정하지 않을 경우 가장 낮은 번호를 가진 인터페이스를 선택한다(이 때 loopback은 제외된다).

-i any : 인터페이스를 구분 하지 않는다. 

-w tcpdump.log : 결과를 tcpdump.log 파일에 저장함.(임의로 지정가능)

-s 1500 :캡쳐할 패킷의 길이로서 1500은 패킷의 전체길이를 의미하므로 모든 패킷을 캡쳐하게됨.

tcp port 22 : 캡쳐할 대상 프로토콜과 포트를 지정한 것으로 tcp 포트 22번으로 송수신되는 데이터를 캡쳐하게 됨.

host 192.168.0.1 :192.168.0.1 서버와 송수신되는 데이터를 대상으로 캡쳐함.

 

A와 B사이의 주고받는 icmp 패킷을 캡쳐할 경우

tcpdump host A and host B and icmp

10.0.0.1 과 10.0.0.13 의 icmp 패킷 캡쳐

여기서 조금더 응용을 하여 A와 B의 주고받는 포트 161을 사용하는 udp 패킷을 캡쳐해서 파일로 저장한다면,

tcpdump -w tcpdump.log host A and host B and udp port 161

10.0.0.1과 10.0.0.22 사이의 udp 161 포트를 캡쳐하여 tcpdump.log 파일에 기록

파일로 저장하였기 때문에 화면에 출력되는 것은 없다.

임의의 패킷을 전송한 후 만들어진 tcpdump.log 파일을 열어보자. 아래와 같이 바이너리 형태로 저장되기 때문에 내용을 알 기 어렵다. 

이를  옵션 -r 을 사용하여 파일을 확인해보자. 

tcpdump -r tcpdump.log

-r 옵션을 사용하여 파일을 열어보면, 10.0.0.1 에서 10.0.0.22 로 snmp 프로토콜 sysUpTime을 요청하였고 그에 대한 응답을 주는 것을 확인 할 수 있다.

hex코드로 출력하길 원한다면

tcpdump -Xqnr tcpdump.log

 

이는 tcpdump 의 아주 작은 조각에 불과합니다. 더 자세한 것은 manpage를 적극 활용 보면 좋겠습니다.

 

다음번에 tcpdump 에 대해서 또 유용하게 쓸수 있는 기능을 소개해 보겠습니다.

 

 

 

같이 보기 [Linux/Unix] Tcpdump(2)

 

[Linux/Unix] Tcpdump(2)

Q) 특정 호스트를 지정하기 어려운경우, 점검을 해야할 시간을 특정 하지 못할 때, 어떤 패킷이 랜덤하게 들어올때 , 다량의 패킷을 tcmpdump 떠야 할때 어떻게 해야할까 ? 위와 같은 상황에서 좀더

ososoi.tistory.com

 

'까벨로퍼 > 개발 이야기' 카테고리의 다른 글

[Django] openssl 인증서로 https 사용  (2) 2020.06.29
[Linux/Unix] Tcpdump(2)  (0) 2020.06.29
[c/c++] strcpy,strncpy,memcpy  (0) 2020.06.28
[Xcode] 단축키 모음  (0) 2020.06.26
[c#] 프로그램에 아이콘 집어넣기  (0) 2020.06.24

+ Recent posts