패킷 캡쳐에 관해
글쓴이: lovemyin / 작성시간: 목, 2006/01/05 - 2:46오후
안녕하세요. 현재 pcap 라이브러리를 이용하여 패킷 캡쳐하는 프로그램을 구현하다가 궁금한 점이 있어 글을 올립니다.
현재 더머 허브를 이용하여 Host A, Host B, Sniff(제가 만든 프로그램이 돌고 있는 시스템) 세가지를 연결하였습니다.
Host A에서 Host B로 계속적으로 메시지를 보내게 했고 Sniff라는 시스템에서 프로그램을 돌려 패킷을 잡아보고 있습니다.
그런데 이상하게 Sniff라는 시스템으로 오거나 나가는 패킷은 잡는데 자신이 아닌 Host A에서 Host B로 패킷은 잡지를 못합니다.
그래서 tcpdump를 이용해 봤더니 역시나 마찬가지로 패킷을 잡지 못하더군요. 왜그럴까요?
Forums:
1. 방화벽?2. 더머 허브라서 (더미허브가 아님으로)3. 랜카드
1. 방화벽?
2. 더머 허브라서 (더미허브가 아님으로)
3. 랜카드자체가 물리적으로 지원하지 않음.
...
1. 방화벽? -> 아닙니다. 내부망을 구성해서 사용중입니다.
1. 방화벽?
-> 아닙니다. 내부망을 구성해서 사용중입니다.
2. 더미 허브가 아니다?
-> 아닙니다. 윈도우에서 ethereal을 설치하여 확인하였습니다.
3. 랜카드 자체가 물리적으로 지원하지 않은
-> 제가 프로그램을 설치한 시스템은 Power PC 기반의 임베디드 시스템입니다.
-> 랜카드가 물리적으로 지원하지 않을 수도 있나요?
-> 어쨋든 tcpdump는 자신한테 오거나 자신으로 부터 나가지 않는 패킷이 아닌 다른 호스트간의 패킷을 훔쳐볼 수 있다는 건가요?
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
[quote="lovemyin"]1. 방화벽? -> 아닙니다.
3번의 질문에 대해서 답변드리면,
1) 랜카드가 물리적으로 지원하지 않을 수도 있나요?
->아니요. 이건 이더넷의 특징이므로. 그리고 이더넷카드가 맥어드레스 확인해서 넘겨주는게 아닐걸요?
2) 어쨋든 tcpdump는 자신한테 오거나 자신으로 부터 나가지 않는 패킷이 아닌 다른 호스트간의 패킷을 훔쳐볼 수 있다는 건가요?
->네.. 됩니다.
그리고 저의 질문은..
"그러니까 같은 머신에서 ethereal로 할때는 됐는데 tcpdump에서는 안보인다는 말씀이신지요?"
로그인을 안했네요. 바로 위의 글은 제가 썼습니다.
로그인을 안했네요. 바로 위의 글은 제가 썼습니다.
--
Passion is like genius; a miracle.
랜카드에서 MAC주소가 다를 경우 위로 올려주지 않아서 그런거 같습니다.
랜카드에서 MAC주소가 다를 경우 위로 올려주지 않아서 그런거 같습니다.
예전에 얼핏 본게, ioctl 을 이용해서 MAC주소에 상관없이 위로 올려주게 설정할 수 있던 것같은데 한번 찾아보세요.
[quote]그리고 저의 질문은.. "그러니까 같은 머신에서 ethe
Ethereal은 제 노트북으로 해서 한거구요. tcpdump는 말씀드린 Power PC기반의 임베디드 시스템입니다. OS는 리눅스이고요.
위에서 말씀하신대로 아무래도 MAC을 검사해서 올려주는거 같네요.
모드를 설정을 해도 그 부분에 적용이 안되는 것 같아요.
골치 아프게 됐네요.
귀중한 답변 진심으로 감사드립니다.
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
혹시 모르니 promiscuous mode 가 맞는지 확인해 보세요.
혹시 모르니 promiscuous mode 가 맞는지 확인해 보세요.
----------------------------------------
http://moim.at
http://mkhq.co.kr
1* dummy hub가 맞다면 sniff의 promiscuous mod
1* dummy hub가 맞다면 sniff의 promiscuous mode 를 검토하고,
2* dummy hub가 아니라면 허브에서 해당머신으로 미러링이되도록 세팅하고(허브의 관리자로서 로그인해서),..
[code:1]2. 더미 허브가 아니다? -> 아닙니다. 윈도우
윈도우에서 이더리얼 설치해서 더미허브가 아닌지 긴지 어떻게 확인하셨나요 ?
제 생각에는 더미허브가 아니라 스위치드허브로 테스트하고 계신건 아닌지요...
그게 아니라면 윗분 말씀대로 promiscuous mode로 셋팅이 안되어 있는 겁니다.
아는 내용이겠지만 자기 자신한테 오는 패킷은 스위치드허브이건 더미허브이건 혹은 그 외에 장비에 물려 있다고 해도 전부 받아 볼수 있습니다.
그런데 맥주소가 자기것이 아니라 남에 것이라면 해당 시스템이 promiscuous mode로 셋팅되어 있지 않으면 mac 레이어에서 버리고 위로 안올려 줍니다.
댓글 달기